Magnetic random access memory

ABSTRACT

A magnetic field H1 in the hard-axis direction and a magnetic field H2 in the easy-axis direction are caused to simultaneously act on a MTJ element having an ideal asteroid curve, thereby reversing the magnetizing direction of the storing layer of the MTJ element. When the actual asteroid curve shifts in the hard-axis direction by Ho, a corrected synthesized magnetic field ({right arrow over (H1)}+{right arrow over (H2)}+{right arrow over (Ho)}) is generated in write operation to reliably reverse the magnetizing direction. The corrected synthesized magnetic field can easily be generated by individually controlling a write word/bit line current on the basis of programmed setting data.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2002-179914, filed Jun. 20, 2002, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a magnetic random access memory (MRAM) which constitutes a memory cell using a MTJ (Magnetic Tunnel Junction) element which stores “1”- and “0”-information using a tunneling magnetoresistive effect.

[0004] 2. Description of the Related Art

[0005] In recent years, many memories which store information by new principles have been proposed. One of them is a memory using the tunneling magneto-resistive (to be referred to as TMR hereinafter) effect proposed by Roy Scheuerlein et al. (e.g., “A 10 ns Read and Write Non-Volatile Memory Array Using a Magnetic Tunnel Junction and FET Switch in each Cell”, ISSCC2000 Technical Digest, p. 128).

[0006] A magnetic random access memory stores “1”- and “0”-information using MTJ elements. A MTJ element has a structure in which an insulating layer (tunneling barrier) is sandwiched between two magnetic layers (ferromagnetic layers), as shown in FIG. 41. Information to be stored in the MTJ element is determined on the basis of whether the magnetizing directions of the two magnetic layers are parallel or antiparallel.

[0007] As shown in FIG. 42, “parallel” means that the two magnetic layers have the same magnetizing direction. “Antiparallel” means that the two magnetic layers have opposite magnetizing directions (the arrows indicate the magnetizing directions).

[0008] Normally, an antiferromagnetic layer is arranged on the side of one of the two magnetic layers. The antiferromagnetic layer serves as a member which fixes the magnetizing direction of one magnetic layer and changes only the magnetizing direction of the other magnetic layer, thereby easily rewriting information.

[0009] The magnetic layer whose magnetizing direction is fixed is called a fixed layer or pinning layer. The magnetic layer whose magnetizing direction can freely be changed is called a free layer or storing layer.

[0010] As shown in FIG. 42, when the magnetizing directions of the two magnetic layers are parallel, the tunneling resistance of the insulating layer (tunneling barrier) sandwiched between the two magnetic layers is minimized. This state is a “1”-state. When the magnetizing directions of the two magnetic layers are antiparallel, the tunneling resistance of the insulating layer (tunneling barrier) sandwiched between the two magnetic layers of the MTJ element is maximized. This state is a “0”-state.

[0011] The write operation principle for a MTJ element will be briefly described next with reference to FIG. 43.

[0012] MTJ elements are arranged at the intersections between write word lines and write bit lines which cross each other. A write is done by supplying a current to each of a write word line and a write bit line and setting the magnetizing direction of a MTJ element in the parallel or antiparallel state using a magnetic field generated by the currents flowing through the two lines.

[0013] For example, assume that the easy-axis (axis of easy magnetization or easy magnetization axis) of an MTJ element corresponds to the X-direction, a write word line runs in the X-direction, and a write bit line runs in the Y-direction perpendicular to the X-direction. In the write mode, a current that flows in one direction is supplied to the write word line, and a current that flows in one or the other direction is supplied to the write bit line in accordance with write data.

[0014] When a current that flows in one direction is supplied to the write bit line, the magnetizing direction of the MTJ element is set in the parallel state (“1”-state). On the other hand, when a current that flows in the other direction is supplied to the write bit line, the magnetizing direction of the MTJ element is set in the antiparallel state (“0”-state).

[0015] The magnetizing direction of the MTJ element changes in accordance with the following mechanism.

[0016] As is indicated by the TMR curve in FIG. 44, when a magnetic field Hy is applied in the longitudinal (easy-axis) direction of a MTJ element, the resistance value of the MTJ element changes by, e.g., about 17%. The change ratio, i.e., the ratio of the resistance difference between the anti-parallel state and the parallel state and the resistance of the parallel state is called “MR ratio”.

[0017] Note that the MR ratio changes depending on the structure, composition and morphology of the MTJ element. Currently, even a MTJ element with an MR ratio of about 50% is available.

[0018] The synthesized magnetic field of the magnetic field Hy in the easy-axis direction and a magnetic field Hx in the hard-axis (axis of hard magnetization or hard magnetization axis) direction is applied to the MTJ element. As indicated by the solid line in FIG. 45, the intensity of the magnetic field Hy in the easy-axis direction, which is necessary for changing the resistance value of the MTJ element, changes depending on the intensity of the magnetic field Hx in the hard-axis direction. When this phenomenon is used, data can be written in only a MTJ element that is present at the intersection between a selected write word line and a selected data line in memory cells arranged in an array.

[0019] This mechanism will be described in more detail using the asteroid curve shown in FIG. 45.

[0020] A MTJ element has an asteroid curve indicated by, e.g., the solid line in FIG. 45. The direction of the magnetic field Hx in the write mode is constant. Write data is determined by the direction of the magnetic field Hy.

[0021] For example, when the free layer of the MTJ element is magnetized downward in FIG. 45, and a point that indicates the intensity of the synthesized magnetic field of the magnetic field (upward) Hy in the easy-axis direction and the magnetic field Hx in the hard-axis direction is present outside (e.g., at the position indicated by the filled circle) the asteroid curve (solid line), the magnetizing direction of the free layer of the MTJ element can be reversed (downward→upward).

[0022] Conversely, for example, when the free layer of the MTJ element is magnetized upward in FIG. 45, and a point that indicates the intensity of the synthesized magnetic field of the magnetic field (downward) Hy in the easy-axis direction and the magnetic field Hx in the hard-axis direction is present inside (e.g., at the position indicated by the open circle) the asteroid curve (solid line), the magnetizing direction of the free layer of the MTJ element cannot be reversed.

[0023] In other words, when the intensity of the magnetic field Hy in the easy-axis direction and that of the magnetic field Hx in the hard-axis direction are changed to change the position of the intensity of the synthesized magnetic field in the Hx-Hy plane, the data write for the MTJ element can be controlled.

[0024] A read can easily be performed by supplying a current to a selected MTJ element and detecting the resistance value of the MTJ element.

[0025] For example, switch elements are connected in series to the MTJ elements. Only the switch element connected to a selected read word line is turned on to form a current path. Consequently, a current flows to only the selected MTJ element. Hence, data of the MTJ element can be read.

[0026] In the magnetic random access memory, as described above, the data write is executed by, e.g., supplying write currents to a write word line and a write bit line and causing a thus generated synthesized magnetic field to act on a MTJ element.

[0027] In the write operation, it is necessary to always accurately write data in a MTJ element. That is, stable write characteristics are necessary. Stabilizing the write characteristics is especially important when data (the state of a MTJ element) stored in a MTJ element and write data are different. In such a case, the magnetized state (magnetizing direction) of the storing layer of the MTJ element must be stably inverted.

[0028] As shown in FIG. 45, when the asteroid curve has a symmetrical shape with respect to the X- and Y-axes, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed by a predetermined synthesized magnetic field necessary for magnetization inversion independently of the reversing direction (upward or downward).

[0029] However, it is impossible in reality to cause, e.g., all chips (formed from a single or different wafers) manufactured, all memory cell arrays (blocks) in one chip, or all MTJ elements in a memory cell array to have the same MTJ element asteroid curve, i.e., a symmetrical shape with respect to the X- and Y-axes.

[0030] In fact, chips, memory cell arrays, word lines/bit lines, or MTJ elements have different MTJ element asteroid curves (asymmetrical shapes with respect to the X- and Y-axes), as shown in, e.g., FIGS. 46 to 49.

[0031] In this case, if it is assumed that the synthesized magnetic field Hx+Hy to be used for magnetization inversion has a predetermined intensity, the intensity of the synthesized magnetic field Hx+Hy may sometimes not be able to reach outside the asteroid curve depending on the magnetization reversing direction, and the magnetizing direction of the MTJ element cannot be reversed.

[0032] The asteroid curve of the MTJ element becomes asymmetrical with respect to the X- and Y-axes because of various variations in the manufacturing process. Detailed examples are as follows.

[0033] {circle over (1)} Shape of TMR Element

[0034] Although all MTJ elements are designed to have the same shape, the MTJ elements have actually a subtle shape difference due to manufacturing variations.

[0035] The shape of a MTJ element determines the magnitude of a magnetic domain or the intensity of an antimagnetic field (a magnetic field which is generated in a magnetic material and has a direction reverse to the external magnetic field). For this reason, that the MTJ elements have different shapes means that they have different magnetic domain magnitudes or antimagnetic field intensities. That is, the magnetic field intensity necessary for reversing the magnetizing direction of the MTJ element changes between the MTJ elements. Hence, the asteroid curve of the MTJ element becomes asymmetrical with respect to the X- and Y-axes.

[0036] {circle over (2)} Thickness/Composition of Magnetic Layer of TMR Element

[0037] When the thickness of the magnetic layer (free layer and fixed layer) of a MTJ element increases, the magnetic field intensity necessary for reversing the magnetizing direction also increases. That is, a variation in magnetic layer thickness between MTJ elements makes the asteroid curve of a MTJ element asymmetrical with respect to the X- and Y-axes.

[0038] As a magnetic material for the free layer (storing layer) of a MTJ element, an alloy made of iron group elements (Fe, Ni, Co, and the like) is generally used. However, an alloy can have a variation in composition.

[0039] If an alloy that forms the free layer of each MTJ element has a variation in composition, saturation magnetization changes between the MTJ elements. In addition, an alloy that forms the free layer of each MTJ element generally has a polycrystalline structure. However, if the magnetic anisotropy of the crystal axis increases, it becomes very difficult to make the asteroid curves of all MTJ elements symmetrical with respect to the X- and Y-axes.

[0040] Even if the asteroid curves of all MTJ elements are same and symmetrical with respect to the X- and Y-axes, the write operation may be impossible when the positional relationship between a write line and a MTJ element shifts. That is, even when a necessary synthesized magnetic field is applied to the MTJ element, the magnetizing direction of the free layer of the MTJ element may not reverse.

[0041] More specifically, even if the minimum value of a write current that generates a magnetic field necessary for reversing the magnetizing direction is obtained at the time of design on the basis of the ideal MTJ element shape and the ideal positional relationship between the write line and the MTJ element, the write operation may be impossible when the positional relationship between the write line and the MTJ element shifts due to mask misalignment at the time of manufacturing.

[0042] As described above, in the conventional magnetic random access memory, some MTJ elements have asteroid curves asymmetrical with respect to the X- and Y-axes because of a variation in shape between the MTJ elements or a variation in thickness/composition between the MTJ elements at the time of manufacturing. Even when the asteroid curve is symmetrical with respect to the X- and Y-axes, the write operation may be impossible when the positional relationship between the write line and the MTJ element shifts. Such phenomena often occur at the early stage of development of magnetic random access memories.

[0043] It is therefore necessary to develop an inexpensive reliable magnetic random access memory with a high yield, which can eliminate the phenomenon of disabled write operation due to the variation in write characteristics between MTJ elements for each chip, each memory cell array, each word line/bit line, or each MTJ element by controlling the magnitude of the write current (the intensity of the write magnetic field).

BRIEF SUMMARY OF THE INVENTION

[0044] A writing method of a magnetic random access memory according to an aspect of the present invention comprises a series of steps of testing write characteristics of a magnetoresistive element having a hard-axis and an easy-axis, independently determining a value of a first write current which generates a magnetic field in the hard-axis direction and a value of a second write current which generates a magnetic field in the easy-axis direction on the basis of the write characteristics, which is necessary for magnetization inversion of the magnetoresistive element, programming the values of the first and second write currents as setting data, and generating the first and second write currents on the basis of the setting data to write data in the magnetoresistive element.

[0045] A magnetic random access memory according to an aspect of the present invention comprises first and second write lines which cross each other, a magnetoresistive element which is arranged at an intersection between the first and second write lines, a first driver which supplies a first write current to the first write line, a second driver which supplies a second write current to the second write line, and a setting circuit in which first setting data to control a current waveform of the first write current and second setting data to control a current waveform of the second write current are registered.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

[0046]FIG. 1 is a view showing Example 1 of Write Principle 1 according to the present invention;

[0047]FIG. 2 is a view showing Example 2 of Write Principle 1 according to the present invention;

[0048]FIG. 3 is a view showing Example 3 of Write Principle 1 according to the present invention;

[0049]FIG. 4 is a view showing Example 4 of Write Principle 1 according to the present invention;

[0050]FIG. 5 is a view showing Example 1 of Write Principle 2 according to the present invention;

[0051]FIG. 6 is a view showing Example 2 of Write Principle 2 according to the present invention;

[0052]FIG. 7 is a view showing Example 3 of Write Principle 2 according to the present invention;

[0053]FIG. 8 is a view showing Example 4 of Write Principle 2 according to the present invention;

[0054]FIG. 9 is a view showing Example 1 of Write Principle 3 according to the present invention;

[0055]FIG. 10 is a view showing Example 2 of Write Principle 3 according to the present invention;

[0056]FIG. 11 is a view showing Example 1 of Write Principle 4 according to the present invention;

[0057]FIG. 12 is a view showing Example 2 of Write Principle 4 according to the present invention;

[0058]FIG. 13 is a flow chart showing write method I according to the present invention;

[0059]FIG. 14 is a flow chart showing write method II according to the present invention;

[0060]FIG. 15 is a flow chart showing write method III according to the present invention;

[0061]FIG. 16 is a view showing the overall arrangement of an MRAM according to an embodiment of the present invention;

[0062]FIG. 17 is a view showing an example of a write word line driver/sinker;

[0063]FIG. 18 is a view showing an example of a write bit line driver/sinker;

[0064]FIG. 19 is a view showing an example of a write current waveform control circuit;

[0065]FIG. 20 is a view showing an example of a setting circuit;

[0066]FIG. 21 is a view showing an example of a register in the setting circuit;

[0067]FIG. 22 is a view showing another example of the register in the setting circuit;

[0068]FIG. 23 is a view showing an example of a Vclamp generation circuit;

[0069]FIG. 24 is a view showing an example of a decoder in the setting circuit;

[0070]FIG. 25 is a waveform chart showing an example of the current waveform of a write word line current;

[0071]FIG. 26 is a waveform chart showing an example of the current waveform of a write bit line current;

[0072]FIG. 27 is a view showing the overall arrangement of an MRAM according to another example of the present invention;

[0073]FIG. 28 is a view showing an example of a write word line driver/sinker;

[0074]FIG. 29 is a view showing an example of a write bit line driver/sinker;

[0075]FIG. 30 is a view showing an example of a write current waveform control circuit/setting circuit;

[0076]FIG. 31 is a view showing another example of a write current waveform control circuit/setting circuit;

[0077]FIG. 32 is a view showing still another example of a write current waveform control circuit/setting circuit;

[0078]FIG. 33 is a view showing an example of a write word line driver/sinker trigger circuit;

[0079]FIG. 34 is a view showing an example of a write bit line driver/sinker trigger circuit;

[0080]FIG. 35 is a view showing another example of the write bit line driver/sinker trigger circuit;

[0081]FIG. 36 is a view showing an example of the setting circuit;

[0082]FIG. 37 is a view showing another example of the setting circuit;

[0083]FIG. 38 is a view showing still another example of the setting circuit;

[0084]FIG. 39 is a perspective view showing Example 1 in which the circuit scheme according to the present invention is applied to an MRAM having memory cell arrays stacked in a plurality of stages;

[0085]FIG. 40 is a perspective view showing Example 2 in which the circuit scheme according to the present invention is applied to an MRAM having memory cell arrays stacked in a plurality of stages;

[0086]FIG. 41 is a view showing a structural example of a MTJ element;

[0087]FIG. 42 is a view showing two states of the MTJ element;

[0088]FIG. 43 is a view showing the write operation principle of a magnetic random access memory;

[0089]FIG. 44 is a view showing a TMR curve;

[0090]FIG. 45 is a view showing an asteroid curve;

[0091]FIG. 46 is a view showing an example of the pattern of the shift of the asteroid curve;

[0092]FIG. 47 is a view showing another example of the pattern of the shift of the asteroid curve;

[0093]FIG. 48 is a view showing still another example of the pattern of the shift of the asteroid curve; and

[0094]FIG. 49 is a view showing still another example of the pattern of the shift of the asteroid curve.

DETAILED DESCRIPTION OF THE INVENTION

[0095] A magnetic random access memory according to an embodiment of the present invention will be described below in detail with reference to the accompanying drawing.

[0096] 1. Write Principle (Method of Applying Magnetic Field to TMR Element)

[0097] The write principle for the magnetic random access memory according to the embodiment of the present invention, i.e., a method of applying magnetic fields Hx and Hy to a MTJ element (MTJ) will be described first.

[0098] In the write principle according to the embodiment the present invention, the pattern of the shift (asymmetry with respect to the X- or Y-axis) of the asteroid curve of a MTJ element is recognized. Then, the magnitude of a write current to be supplied to a write word/bit line (i.e., the intensities of the magnetic fields Hx and Hy) is determined in accordance with the pattern of shift of the asteroid curve (write characteristics).

(1) PRINCIPLE 1

[0099] The write principle of this example is based on the premise that the asteroid curve of a MTJ element shifts in the hard-axis direction.

{circle over (1)} EXAMPLE 1

[0100] As shown in FIG. 1, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0101] Note that the ideal asteroid curve means an asteroid curve having a symmetrical shape with respect to the X- and Y-axes (this also applies to all examples to be described below).

[0102] In Example 1, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the same side as the direction of the magnetic field in the hard-axis direction with respect to the ideal asteroid curve, as shown in FIG. 1. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0103] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0104] To prevent this, in Example 1, the offset amount Ho generated due to the shift of the asteroid curve is added to the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}+{right arrow over (Ho)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction.

[0105] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}+{right arrow over (Ho)})+{right arrow over (H2)} is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0106] The magnetic field ({right arrow over (H1)}+{right arrow over (Ho)}) in the hard-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0107] A circuit scheme used to execute this operation principle will be described later in detail.

[0108] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensity of the magnetic field in the shift direction (hard-axis direction in this example) is controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0109] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (2)} EXAMPLE 2

[0110] In Example 1, only the intensity of the magnetic field in the direction (hard-axis direction) of the shift of the asteroid curve is controlled in accordance with the offset amount. In Example 2, a technique will be proposed in which each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled in accordance with the offset amount independently of the direction (hard-axis direction) of the shift of the asteroid curve, thereby increasing the reliability of write operation.

[0111] As shown in FIG. 2, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0112] In Example 2, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the same side as the direction of the magnetic field in the hard-axis direction with respect to the ideal asteroid curve, as shown in FIG. 2. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0113] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse, and the write operation is impossible.

[0114] To prevent this, in Example 2, part H3 (e.g., Ho/2) of the offset amount Ho generated due to the shift of the asteroid curve is added to the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction. In addition, part H4 (e.g., Ho/2) of the offset amount Ho is added to the magnetic field H2 in the easy-axis direction. A magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0115] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}+{right arrow over (H3)})+({right arrow over (H2)}+{right arrow over (H4)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0116] The magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) in the hard-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0117] The magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0118] A circuit scheme used to execute this operation principle will be described later in detail.

[0119] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the shift direction (hard-axis direction in this example), thereby increasing the reliability of the write operation.

[0120] Hence, the risk of write errors for unselected MTJ elements arranged along a selected write word line can be reduced.

[0121] More specifically, in the memory cell array of a magnetic random access memory, not only a selected MTJ element but also a plurality of unselected MTJ elements are arranged along a selected write word line.

[0122] In this case, if only the write current to be supplied to the write word line is increased to cancel the offset between the ideal asteroid curve and the actual asteroid curve, the increase amount is large. This may cause write errors for the unselected MTJ elements arranged along the selected write word line.

[0123] When each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the shift direction (hard-axis direction) of the asteroid curve, the increase amount of the write current to be supplied to the write word line can be decreased by an amount corresponding to the increase in write current to be supplied to the write bit line.

[0124] That is, the risk of write errors for the unselected MTJ elements arranged along the selected write word line can be reduced.

[0125] To reduce the risk of write errors for unselected MTJ elements arranged along a selected write word line and the risk of write errors for unselected MTJ elements arranged along a selected write bit line as much as possible, H3=H4 (e.g., H1=H2, and H3=H4=Ho/2) is preferably satisfied.

{circle over (3)} EXAMPLE 3

[0126] Example 3 is different from Example 1 in that the asteroid curve of a MTJ element shifts to the opposite side of the direction of the magnetic field in the hard-axis direction with respect to an ideal asteroid curve.

[0127] As shown in FIG. 3, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H1)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0128] In Example 3, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the opposite side of the direction of the magnetic field in the hard-axis direction with respect to the ideal asteroid curve, as shown in FIG. 3. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0129] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is largely separated outward from the actual asteroid curve (solid line). That is, since the value of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} necessary for reversing the magnetizing direction of the free layer (storing layer) of the MTJ element is too large, write errors for unselected MTJ elements may occur.

[0130] To prevent this, in Example 3, the offset amount Ho generated due to the shift of the asteroid curve is subtracted from the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}−{right arrow over (Ho)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction.

[0131] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}−{right arrow over (Ho)})+{right arrow over (H2)} is located near and outside the actual asteroid curve (solid line). For this reason, only the magnetizing direction of the free layer (storing layer) of the selected MTJ element can be reversed without any write errors for unselected MTJ elements.

[0132] The magnetic field ({right arrow over (H1)}−{right arrow over (Ho)}) in the hard-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0133] A circuit scheme used to execute this operation principle will be described later in detail.

[0134] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensity of the magnetic field in the shift direction (hard-axis direction in this example) is controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0135] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (4)} EXAMPLE 4

[0136] Like Examples 1 and 3, Example 4 will be proposed in correspondence with Example 2.

[0137] In Example 4, each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled in accordance with the offset amount independently of the direction (hard-axis direction) of the shift of an asteroid curve, thereby increasing the reliability of write operation.

[0138] As shown in FIG. 4, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0139] In Example 4, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the opposite side of the direction of the magnetic field in the hard-axis direction with respect to the ideal asteroid curve, as shown in FIG. 4. The shift amount (offset amount) which is converted into a is magnetic field intensity is Ho.

[0140] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is largely separated outward from the actual asteroid curve (solid line). That is, since the value of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} necessary for reversing the magnetizing direction of the free layer (storing layer) of the MTJ element is too large, write errors for unselected MTJ elements may occur.

[0141] To prevent this, in Example 4, part H3 (e.g., Ho/2) of the offset amount Ho generated due to the shift of the asteroid curve is subtracted from the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}−{right arrow over (H3)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction. In addition, part H4 (e.g., Ho/2) of the offset amount Ho is subtracted from the magnetic field H2 in the easy-axis direction. A magnetic field ({right arrow over (H2)}−{right arrow over (H4)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0142] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}−{right arrow over (H3)})+({right arrow over (H2)}−{right arrow over (H4)}) is located near and outside the actual asteroid curve (solid line). For this reason, only the magnetizing direction of the free layer (storing layer) of the selected MTJ element can be reversed without any write errors for unselected MTJ elements.

[0143] The magnetic field ({right arrow over (H1)}−{right arrow over (H3)}) in the hard-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0144] The magnetic field ({right arrow over (H2)}−{right arrow over (H4)}) in the easy-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0145] A circuit scheme used to execute this operation principle will be described later in detail.

[0146] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the shift direction (hard-axis direction in this example), thereby increasing the reliability of the write operation.

[0147] Hence, the risk of write errors for unselected MTJ elements arranged along a selected write word line can be reduced.

[0148] The relationship between H1, H2, H3, and H4 is preferably H1=H2 and H3=H4=Ho/2.

(2) PRINCIPLE 2

[0149] The write principle of this example is based on the premise that the asteroid curve of a MTJ element shifts in the easy-axis direction.

{circle over (1)} EXAMPLE 1

[0150] As shown in FIG. 5, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0151] Note that the ideal asteroid curve means an asteroid curve having a symmetrical shape with respect to the X- and Y-axes (this also applies to all examples to be described below).

[0152] In Example 1, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the same side as the direction of the magnetic field (its direction changes in accordance with write data) in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 5. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0153] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0154] To prevent this, in Example 1, the offset amount Ho generated due to the shift of the asteroid curve is added to the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}+{right arrow over (Ho)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0155] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+({right arrow over (H2)}+{right arrow over (Ho)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0156] The magnetic field ({right arrow over (H2)}+{right arrow over (Ho)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0157] A circuit scheme used to execute this operation principle will be described later in detail.

[0158] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensity of the magnetic field in the shift direction (easy-axis direction in this example) is controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0159] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (2)} EXAMPLE 2

[0160] In Example 1, only the intensity of the magnetic field in the direction (easy-axis direction) of the shift of the asteroid curve is controlled in accordance with the offset amount. In Example 2, each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled in accordance with the offset amount independently of the direction (easy-axis direction) of the shift of the asteroid curve, thereby increasing the reliability of write operation.

[0161] As shown in FIG. 6, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0162] In Example 2, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the same side as the direction of the magnetic field (its direction changes in accordance with write data) in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 6. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0163] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0164] To prevent this, in Example 2, part H4 (e.g., Ho/2) of the offset amount Ho generated due to the shift of the asteroid curve is added to the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction. In addition, part H3 (e.g., Ho/2) of the offset amount Ho is added to the magnetic field H1 in the hard-axis direction. A magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction.

[0165] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}+{right arrow over (H3)})+({right arrow over (H2)}+{right arrow over (H4)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0166] The magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) in the hard-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0167] The magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0168] A circuit scheme used to execute this operation principle will be described later in detail.

[0169] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the shift direction (easy-axis direction in this example), thereby increasing the reliability of the write operation.

[0170] Hence, the risk of write errors for unselected MTJ elements arranged along a selected write bit line can be reduced.

[0171] To reduce the risk of write errors for unselected MTJ elements arranged along a selected write bit line and the risk of write errors for unselected MTJ elements arranged along a selected write word line as much as possible, H3=H4 (e.g., H1=H2, and H3=H4=Ho/2) is preferably satisfied.

{right arrow over (3)} EXAMPLE 3

[0172] Example 3 is different from Example 1 in that the asteroid curve of a MTJ element shifts to the opposite side of the direction of the magnetic field (its direction changes in accordance with write data) in the easy-axis direction with respect to an ideal asteroid curve.

[0173] As shown in FIG. 7, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0174] In Example 3, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the opposite side of the direction of the magnetic field in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 7. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0175] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is largely separated outward from the actual asteroid curve (solid line). That is, since the value of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} necessary for reversing the magnetizing direction of the free layer (storing layer) of the MTJ element is too large, write errors for unselected MTJ elements may occur.

[0176] To prevent this, in Example 3, the offset amount Ho generated due to the shift of the asteroid curve is subtracted from the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}−{right arrow over (Ho)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0177] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+({right arrow over (H2)}−{right arrow over (Ho)}) is located near and outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0178] The magnetic field ({right arrow over (H2)}−{right arrow over (Ho)}) in the easy-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0179] A circuit scheme used to execute this operation principle will be described later in detail.

[0180] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensity of the magnetic field in the shift direction (hard-axis direction in this example) is controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0181] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (4)} EXAMPLE 4

[0182] Like Examples 1 and 3, Example 4 will be proposed in correspondence with Example 2.

[0183] In Example 4, each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled in accordance with the offset amount independently of the direction (easy-axis direction) of the shift of an asteroid curve, thereby increasing the reliability of write operation.

[0184] As shown in FIG. 8, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0185] In Example 4, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the opposite side of the direction of the magnetic field in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 8. The shift amount (offset amount) which is converted into a magnetic field intensity is Ho.

[0186] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is largely separated outward from the actual asteroid curve (solid line). That is, since the value of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} necessary for reversing the magnetizing direction of the free layer (storing layer) of the MTJ element is too large, write errors for unselected MTJ elements may occur.

[0187] To prevent this, in Example 4, part H4 (e.g., Ho/2) of the offset amount Ho generated due to the shift of the asteroid curve is subtracted from the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}−{right arrow over (H4)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction. In addition, part H3 (e.g., Ho/2) of the offset amount Ho generated due to the shift of the asteroid curve is subtracted from the magnetic field H1 in the hard-axis direction. A magnetic field ({right arrow over (H1)}−{right arrow over (H3)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction.

[0188] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}−{right arrow over (H3)})+({right arrow over (H2)}−{right arrow over (H4)}) is located near and outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0189] The magnetic field ({right arrow over (H1)}−{right arrow over (H3)}) in the hard-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0190] The magnetic field ({right arrow over (H2)}−{right arrow over (H4)}) in the easy-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0191] A circuit scheme used to execute this operation principle will be described later in detail.

[0192] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the shift direction (hard-axis direction in this example), thereby increasing the reliability of the write operation.

[0193] Hence, the risk of write errors for unselected MTJ elements arranged along a selected write bit line can be reduced.

[0194] The relationship between H1, H2, H3, and H4 is preferably H1=H2 and H3=H4=Ho/2.

{circle over (5)} EXAMPLE 5

[0195] Principle 2 is based on an example in which the asteroid curve shifts in the easy-axis direction. The data value of a MTJ element is determined by the magnetizing direction in the easy-axis direction.

[0196] That is, in Principle 2, when the situation described in Example 1 (or Example 2) occurs in a specific MTJ element, the situation described in Example 3 (or Example 4) also occurs in the specific MTJ element. For example, assume that the situation described in Example 1 (or Example 2) occurs when data “1” is to be written in a specific MTJ element. At this time, the situation described in Example 3 (or Example 4) occurs when data “0” is to be written in the specific MTJ element.

[0197] Hence, Examples 1 and 3 (or Examples 2 and 4) may be combined.

[0198] More specifically, when, e.g., data “1” is to be written, the magnitude of the write current for the write word/bit line is controlled such that the synthesized magnetic field has an intensity given by {right arrow over (H1)}+({right arrow over (H2)}+{right arrow over (Ho)}) or ({right arrow over (H1)}+{right arrow over (H3)})+({right arrow over (H2)}+{right arrow over (H4)}). When data “0” is to be written, the magnitude of the write current for the write word/bit line is controlled such that the synthesized magnetic field has an intensity given by {right arrow over (H1)}+({right arrow over (H2)}−{right arrow over (Ho)}) or ({right arrow over (H1)}−{right arrow over (H3)})+({right arrow over (H2)}−{right arrow over (H4)})

[0199] (3) Principle 3

[0200] The write principle of this example is based on the premise that the asteroid curve of a MTJ element shifts in the hard- and easy-axis directions.

{circle over (1)} EXAMPLE 1

[0201] As shown in FIG. 9, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0202] Note that the ideal asteroid curve means an asteroid curve having a symmetrical shape with respect to the X- and Y-axes (this also applies to all examples to be described below).

[0203] In Example 1, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the same side as the direction of the magnetic field in the hard-axis direction and also to the same side as the direction of the magnetic field in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 9. The shift amounts (offset amounts) are Hox in the hard-axis direction and Hoy in the easy-axis direction.

[0204] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0205] To prevent this, in Example 1, the offset amount Hox generated due to the shift of the asteroid curve is added to the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}+{right arrow over (Hox)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction. In addition, the offset amount Hoy generated due to the shift of the asteroid curve is added to the magnetic field H2 in the easy-axis direction. A magnetic field ({right arrow over (H2)}+{right arrow over (Hoy)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0206] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}+{right arrow over (Hox)})+({right arrow over (H2)}+{right arrow over (Hoy)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0207] The magnetic field ({right arrow over (H1)}+{right arrow over (Hox)}) in the hard-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0208] The magnetic field ({right arrow over (H2)}+{right arrow over (Hoy)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0209] A circuit scheme used to execute this operation principle will be described later in detail.

[0210] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensities of the magnetic fields in the shift directions (hard- and easy-axis directions) are controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0211] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (2)} EXAMPLE 2

[0212] Example 2 is different from Example 1 in that the asteroid curve of a MTJ element shifts to the opposite side of the direction of the magnetic field in the hard-axis direction and also to the opposite side of the direction of the magnetic field in the easy-axis direction with respect to an ideal asteroid curve.

[0213] As shown in FIG. 10, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} located outside the ideal asteroid curve.

[0214] In Example 2, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory shifts to the opposite side of the direction of the magnetic field in the hard-axis direction and also to the opposite side of the direction of the magnetic field in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 10. The shift amounts (offset amounts) are Hox in the hard-axis direction and Hoy in the easy-axis direction.

[0215] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is largely separated outward from the actual asteroid curve (solid line). That is, since the value of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} necessary for reversing the magnetizing direction of the free layer (storing layer) of the MTJ element is too large, write errors for unselected MTJ elements may occur.

[0216] To prevent this, in Example 2, the offset amount Hox generated due to the shift of the asteroid curve is subtracted from the magnetic field H1 in the hard-axis direction in the write mode. A magnetic field ({right arrow over (H1)}−{right arrow over (Hox)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction.

[0217] In addition, the offset amount Hoy generated due to the shift of the asteroid curve is subtracted from the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}−{right arrow over (Hoy)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0218] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}−{right arrow over (Hox)})+({right arrow over (H2)}−{right arrow over (Hoy)}) is located near and outside the actual asteroid curve (solid line). For this reason, only the magnetizing direction of the free layer (storing layer) of the selected MTJ element can be reversed without any write errors for unselected MTJ elements.

[0219] The magnetic field ({right arrow over (H1)}−{right arrow over (Hox)}) in the hard-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0220] The magnetic field ({right arrow over (H2)}−{right arrow over (Hoy)}) in the easy-axis direction can easily be generated by decreasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0221] A circuit scheme used to execute this operation principle will be described later in detail.

[0222] As described above, in the write principle of this example, when the asteroid curve of the MTJ element shifts from the ideal position and is not symmetrical with respect to the X-axis (hard-axis) or Y-axis (easy-axis), the intensities of the magnetic fields in the shift directions (hard- and easy-axis directions) are controlled to cancel the offset between the ideal asteroid curve and the actual asteroid curve.

[0223] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

[0224] {circle over (4)} PRINCIPLE 4

[0225] The write principle of this example is based on the premise that the asteroid curve of a MTJ element partially spreads in the hard-axis direction, and consequently, the asteroid curve becomes asymmetrical with respect to the Y-axis (easy-axis).

[0226] This distortion in asteroid curve readily occurs due to the influences of the magnetic domain structure of a MTJ element and impurities.

{circle over (1)} EXAMPLE 1

[0227] As shown in FIG. 11, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0228] Note that the ideal asteroid curve means an asteroid curve having a symmetrical shape with respect to the X- and Y-axes (this also applies to all examples to be described below).

[0229] In Example 1, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory partially spreads in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 11.

[0230] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)}is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0231] To prevent this, in Example 1, an offset amount Hoy generated due to the shift of the asteroid curve is added to the magnetic field H2 in the easy-axis direction in the write mode. A magnetic field ({right arrow over (H2)}+{right arrow over (Hoy)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0232] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+({right arrow over (H2)}+{right arrow over (Hoy)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0233] The magnetic field ({right arrow over (H2)}+{right arrow over (Hoy)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0234] A circuit scheme used to execute this operation principle will be described later in detail.

[0235] As described above, in the write principle of this example, when the asteroid curve of the MTJ element partially spreads in the X-axis (hard-axis) direction or Y-axis (easy-axis) direction, and the asteroid curve is not symmetrical with respect to the X- or Y-axis, the intensity of the magnetic field in the spreading direction (easy-axis direction in this example) is controlled.

[0236] As a result, the disabled write operation in the write mode can be avoided, and the reliability of the write operation can be increased.

{circle over (2)} EXAMPLE 2

[0237] In Example 2, each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled in accordance with the offset amount independently of the deformation pattern of an asteroid curve, thereby increasing the reliability of write operation.

[0238] As shown in FIG. 12, a synthesized magnetic field necessary for magnetization inversion, which is determined on the basis of an ideal asteroid curve (broken line), is defined as {right arrow over (H1)}+{right arrow over (H2)}. H1 is a magnetic field in the X-axis (hard-axis) direction, and H2 is a magnetic field in the Y-axis (easy-axis) direction. In this case, a point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located outside the ideal asteroid curve.

[0239] In Example 2, assume that the asteroid curve (solid line) of a MTJ element of an actually manufactured magnetic random access memory partially spreads in the easy-axis direction with respect to the ideal asteroid curve, as shown in FIG. 12.

[0240] In this case, the point that indicates the intensity of the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is located inside the actual asteroid curve (solid line). For this reason, in the write mode, even when the synthesized magnetic field {right arrow over (H1)}+{right arrow over (H2)} is applied to the MTJ element, the magnetizing direction of the free layer (storing layer) of the MTJ element does not reverse. As a consequence, the write operation is impossible.

[0241] To prevent this, in Example 2, ({right arrow over (H1)}+{right arrow over (H3)}) is defined as a magnetic field in the hard-axis direction. The magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) is caused to act on the MTJ element as the magnetic field in the hard-axis direction. In addition, ({right arrow over (H2)}+{right arrow over (H4)}) is defined as a magnetic field in the easy-axis direction. The magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) is caused to act on the MTJ element as the magnetic field in the easy-axis direction.

[0242] In this case, the point that indicates the intensity of the synthesized magnetic field ({right arrow over (H1)}+{right arrow over (H3)})+({right arrow over (H2)}+{right arrow over (H4)}) is located outside the actual asteroid curve (solid line). For this reason, the magnetizing direction of the free layer (storing layer) of the MTJ element can be reversed.

[0243] The magnetic field ({right arrow over (H1)}+{right arrow over (H3)}) in the hard-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a predetermine direction) to be supplied to a write word line that runs in the easy-axis direction.

[0244] The magnetic field ({right arrow over (H2)}+{right arrow over (H4)}) in the easy-axis direction can easily be generated by increasing, by a predetermined amount, the value of the write current (having a direction which changes in accordance with write data) to be supplied to a write bit line that runs in the hard-axis direction.

[0245] A circuit scheme used to execute this operation principle will be described later in detail.

[0246] As described above, in the write principle of this example, when the asteroid curve of the MTJ element is deformed, each of the intensities of the magnetic fields in the hard- and easy-axis directions is controlled independently of the deformation pattern, thereby increasing the reliability of the write operation.

[0247] Hence, the risk of write errors for unselected MTJ elements arranged along a selected write word line can be reduced.

[0248] {circle over (5)} PRINCIPLE 5

[0249] Principles 1 to 4 are based on the premises that the asteroid curve of a MTJ element shifts or deforms. The techniques for canceling the offset of the asteroid curve due to the shift or deformation have been described above.

[0250] Although the asteroid curve of the MTJ element is actually symmetrical with respect to the X- and Y-axes, if the write characteristics of a MTJ element may change from the ideal value (design value), and for example, the positional relationship between the write word/bit line and the MTJ element changes, the examples of the present invention can also be used as a means for correcting the positional relationship.

[0251] More specifically, the distance between the write word/bit line and the MTJ element may be smaller or larger than the ideal value due to mask misalignment or the like. When the distance between the write word/bit line and the MTJ element decreases, the magnetic field applied to the MTJ element becomes strong. Conversely, when the distance increases, the magnetic field applied to the MTJ element becomes weak.

[0252] To prevent any disabled write operation or write error due to the above phenomenon, control of the intensity of the magnetic field (the magnitude of the write current) according to the examples of the present invention is very effective.

[0253] (6) Others The write principles described in Principles 1 to are implemented by hardware in the magnetic random access memory (chip or cell array block). These write principles are set for each chip, each cell array block, each write word/bit line, or each MTJ element.

[0254] To set a write principle, as shown in FIGS. 13 and 14, a write test is executed for MTJ elements in the memory cell array to grasp the write characteristics (e.g., asteroid curve) of each MTJ element (step ST1).

[0255] After that, the current waveforms (current values or the like) of the write word line current and write bit line current are determined for each chip, each cell array block, each write word/bit line, or each MTJ element in consideration of the variation in write characteristics between the MTJ elements (step ST2).

[0256]FIG. 13 shows an example in which the current waveform of the write word/bit line current is determined for each chip (or for each cell array block). FIG. 14 shows an example in which the current waveform of the write word/bit line current is determined for each write word/bit line. FIG. 15 shows an example in which the current waveform of the write word/bit line current is determined for each MTJ element.

[0257] Finally, the write principle (i.e., the current waveforms of the write word line current and write bit line current which are determined for each chip, each cell array block, each write word/bit line, or each MTJ element) is programmed (step ST3).

[0258] Programming is performed for a setting circuit arranged at a predetermined portion in a chip. As will be described later in the “circuit scheme” section, programming can be executed for, e.g., a laser blow fuse, a MTJ element (MTJ), or an antifuse which breaks the tunneling barrier of a MTJ element.

[0259] In the test mode, the current waveforms of the write word line current and write bit line current may be programmed in a programming element in the setting circuit. Alternatively, in the test mode, the write principle according to an example of the present invention may be tested.

[0260] In the actual write operation, the current waveforms of the write word line current and write bit line current are determined on the basis of programming data stored in the setting circuit.

[0261] The write current is supplied from a driver connected to one end of a write word/bit line and absorbed by a sinker connected to the other end. In cutting off the write current, the function of the driver is stopped first. Then, after a predetermined time, the function of the sinker is stopped. With this arrangement, the potential of the write word/bit line can be completely set to 0 V.

[0262] The operation related to the programming, the operation related to the test, and the operation of the driver/sinker will be described in detail in the following “circuit scheme” section.

2. Circuit Scheme

[0263] Examples of the circuit scheme of the magnetic random access memory to implement the write principles according to Principles 1 to 5 described above will be described below.

[0264] (1) Setting for Each Chip or Cell Array

[0265] Write characteristics or asteroid curves of MTJ elements may change between chips or cell arrays (blocks) due to manufacturing variations.

[0266] A circuit (including a function capable of setting the magnetic field intensity individually for each magnetizing reversing direction) which sets the magnitude of a write current, i.e., the intensity of a write magnetic field necessary for reversing the magnetizing direction of the free layer (storing layer) of a MTJ element for each chip or cell array in consideration of such a variation in write characteristics (e.g., a shift of an asteroid curve) will be described first.

{circle over (1)} Overall Arrangement

[0267]FIG. 16 shows the arrangement of main part of a magnetic random access memory according to an embodiment of the present invention.

[0268] A magnetic random access memory (MRAM) 11 may construct one memory chip by itself or one block in a chip having a specific function. A memory cell array (data cell) 12 has a function of actually storing data. A reference cell array 13 has a function of setting a criterion to be used to determine the value of read data in read operation.

[0269] A row decoder & driver (row decoder & write word line driver and row decoder & read word line driver) 14 is arranged at one of two Y-direction (easy-axis direction) ends of a cell array formed from the memory cell array 12 and reference cell array 13. A write word line sinker 15 is arranged at the other end.

[0270] The row decoder & driver 14 has a function of, e.g., selecting one of a plurality of write word lines on the basis of a row address signal and supplying a write current to the selected write word line in the write operation. The write word line sinker 15 has a function of, e.g., absorbing the write current supplied to the selected write word line in the write operation.

[0271] The row decoder & driver 14 has a function of, e.g., selecting one of a plurality of read word lines (the read word lines may be integrated with the write word lines) on the basis of a row address signal and supplying a read current to the selected read word line in the read operation. A sense amplifier 20 detects, e.g., the read current and determines read data.

[0272] A column decoder & write bit line driver/sinker 16A is arranged at one of two X-direction (hard-axis direction) ends of the memory cell array 12. A column decoder & write bit line driver/sinker (including a column transfer gate and column decoder) 17A is arranged at the other end.

[0273] The column decoders & write bit line drivers/sinkers 16A and 17A have a function of, e.g., selecting one of a plurality of write bit lines (or data lines) on the basis of a column address signal and supplying a write current having a direction corresponding to write data to the selected write bit line in the write operation. The column transfer gate and column decoder have a function of electrically connecting the data line selected by the column address signal to the sense amplifier 20 in the read operation.

[0274] A reference cell column decoder & write bit line driver/sinker 16B is arranged at one of two X-direction ends of the reference cell array 13. A reference cell column decoder & write bit line driver/sinker (including a column transfer gate and column decoder) 17B is arranged at the other end.

[0275] The reference cell column decoders & write bit line drivers/sinkers 16B and 17B have a function of storing reference data in the reference cell array 13. The column transfer gate and column decoder have a function of reading out the reference data and transferring it to the sense amplifier 20 in the read operation.

[0276] An address receiver 18 receives an address signal and transfers, e.g., a row address signal to the row decoder & driver 14 and a column address signal to the column decoders & write bit line drivers/sinkers 16A and 17A. A data input receiver 19 transfers the write data to the column decoders & write bit line drivers/sinkers 16A and 17A. An output driver 21 outputs the read data detected by the sense amplifier 20 from the magnetic random access memory 11.

[0277] A control circuit 22 receives a /CE (Chip Enable) signal, /WE (Write Enable) signal, and /OE (Output Enable) signal and controls the operation of the magnetic random access memory 11.

[0278] For example, in the write operation, the control circuit 22 supplies a write signal WRITE to a write current waveform control circuit 24. Upon receiving the write signal WRITE, the write current waveform control circuit 24 generates a write word line drive signal WWLDRV, write word line sink signal WWLSNK, write bit line drive signal WBLDRV, and write bit line sink signal WBLSNK.

[0279] The write word line drive signal WWLDRV is supplied to the row decoder & driver 14. The write word line sink signal WWLSNK is supplied to the write word line sinker 15. The write bit line drive signal WBLDRV and write bit line sink signal WBLSNK are supplied to the column decoders & write bit line drivers/sinkers 16A and 17A.

[0280] A setting circuit 23 has a programming element. Setting data which determines the current waveform of the write word/bit line current is programmed in the programming element. As a programming element, for example, a laser blow fuse, a MTJ element (MTJ), or an antifuse which breaks the tunneling barrier of a MTJ element can be used.

[0281] In the write operation, the setting circuit 23 generates write word line current waveform signals WS<0> to WS<3> and write bit line current waveform signals BS<0> to BS<7> on the basis of the setting data.

[0282] The write word line current waveform signals WS<0> to WS<3> are supplied to the row decoder & driver 14 through the write current waveform control circuit 24 (or without intervening the write current waveform control circuit 24).

[0283] The write bit line current waveform signals BS<0> to BS<3>are supplied to the column decoder & write bit line driver/sinker 16A through or without intervening the write current waveform control circuit 24. The write bit line current waveform signals BS<4> to BS<7> are supplied to the column decoder & write bit line driver/sinker 17A through or without intervening the write current waveform control circuit 24.

[0284] When the write word line drive signal WWLDRV is “H”, and the write word line sink signal WWLSNK is “H”, the row decoder & driver 14 determines the value (magnitude) of the write current to be supplied to a write word line selected by a row address signal, on the basis of the write word line current waveform signals WS<0> to WS<3>.

[0285] Similarly, when the write bit line drive signal WBLDRV is “H”, and the write bit line sink signal WBLSNK is “H”, the write word line sinker 15 and column decoders & write bit line drivers/sinkers 16A and 17A determine the value (magnitude) of the write current to be supplied to a write bit line selected by a column address signal, on the basis of the write bit line current waveform signals BS<0> to BS<7>.

[0286] When a write current is to be supplied from the column decoder & write bit line driver/sinker 16A to the column decoder & write bit line driver/sinker 17A, the write bit line current waveform signals BS<0> to BS<3> determine the value of the write bit line current.

[0287] When a write current is to be supplied from the column decoder & write bit line driver/sinker 17A to the column decoder & write bit line driver/sinker 16A, the write bit line current waveform signals BS<4> to BS<7> determine the value of the write bit line current.

[0288] As for the absorption timing of the write current, for example, when the timings to change the sink signals WWLSNK and WBLSNK from “H” to “L” are set after the timings to change the drive signals WWLDRV and WBLDRV from “H” to “L”, the potential of the write word/bit line can be completely set to 0 V.

[0289] In the test mode of the magnetic random access memory, a write test for the MTJ element can be executed on the basis of, e.g., setting data D<j> input from a data input/output terminal. With this write test, the write characteristics of the MTJ elements in the memory cell array 12 are grasped, and the value of the write word/bit line current (the intensity of the synthesized magnetic field Hx+Hy) in the normal write operation is determined.

[0290] In the test mode, the setting data D<j> may be input from an address terminal.

[0291] After that, the programming operation of setting data is performed in accordance with the result of the test mode. The programming operation is operation of programming the result of the test mode, i.e., the value of the write word/bit line current in the programming element in the setting circuit 23.

[0292] In the programming operation, a program signal PROG changes to “H”. The value of the write word/bit line current in the normal write operation is programmed in the programming element in the setting circuit 23 by controlling the value of the setting data D<j> input from the data input/output terminal or address terminal.

{circle over (2)} Row Decoder & Write Word Line Driver/Sinker

[0293]FIG. 17 shows a circuit example of the row decoder & write word line driver/sinker.

[0294] The row decoder & write word line driver (for one row) 14 is formed from an AND gate circuit AD1, NAND gate circuits NDWS0 to NDWS3, and PMOS transistors WS0 to WS3. The gate of a PMOS transistor WSi (i=0, 1, 2, 3) is connected to the output terminal of a NAND gate circuit NDWSi, the source is connected to a power supply terminal VDD, and the drain is connected to one end of a write word line WWLi (i=1, . . . )

[0295] A write word line current waveform signal WS<i> is input to one of the two input terminals of the NAND gate circuit NDWSi. The output signal from the AND gate circuit AD1 is input to the other input terminal. The write word line drive signal WWLDRV and a row address signal (changes for each row i) formed from a plurality of bits are input to the AND gate circuit AD1.

[0296] The write word line sinker (for one row) 15 is formed from an NMOS transistor TN1. The source of the NMOS transistor TN1 is connected to a ground terminal VSS, and the drain is connected to the other end of the write word line WWLi. The write word line sink signal WWLSNK is input to the gate of the NMOS transistor TN1.

[0297] In the write operation, the write word line drive signal WWLDRV changes to “H”. At the same time, in the selected row i, all bits of the row address signal change to “H”. That is, in the selected row i, since the output signal from the AND circuit AD1 changes to “H”, a write word line current having a predetermined value (magnitude) is supplied to the write word line WWLi in accordance with the values of the write word line current waveform signals WS<0> to WS<3>.

[0298] When the write word line sink signal WWLSNK changes to “H”, the NMOS transistor TN1 is turned on. For this reason, the write current flowing to the write word line WWLi is absorbed by the ground point VSS through the NMOS transistor TN1.

[0299] According to this row decoder & write word line driver/sinker, when the values of the write word line current waveform signals WS<0> to WS<3> are controlled, the magnitude (current waveform) of the write current for the write word line WWLi in the selected row i can be controlled.

[0300] When the write word line drive signal WWLDRV is set to “L”, and then, the write word line sink signal WWLSNK is set to “L”, the potential of the write word line WWLi after the write operation can be completely set to 0 V. It is convenient for initialization.

[0301] To control the value (magnitude) of the write word line current, the following control methods can be used. As the first method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors WS0 to WS3 are set to the same value. Then, the number of PMOS transistors WS0 to WS3 in the ON state is changed using the write word line current waveform signals WS<0> to WS<3>.

[0302] As the second method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors WS0 to WS3 are set to different values. Then, one of the plurality of PMOS transistors WS0 to WS3 is selectively turned on using write word line current waveform signals WS<0> to WS<3>.

[0303] The third method is a combination of the first and second methods. That is, the sizes of the PMOS transistors WS0 to WS3 are set to different values, and the number of PMOS transistors WS0 to WS3 in the ON state is changed, thereby controlling the value (magnitude) of the write current.

{circle over (3)} Column Decoder & Write Bit Line Driver/Sinker

[0304]FIG. 18 shows a circuit example of the column decoder & write bit line driver/sinker.

[0305] The column decoder & write bit line driver/sinker (for one column) 16A is formed from NAND gate circuits NDBSO to NDBS3, AND gate circuits AD2 and AD3, PMOS transistors BS0 to BS3, and NMOS transistor BN0.

[0306] The gate of a PMOS transistor BSi (i=0, 1, 2, 3) is connected to the output terminal of a NAND gate circuit NDBSi, the source is connected to the power supply terminal VDD, and the drain is commonly connected to one end of a write bit line WBLi (i=1, . . . )

[0307] A write word line current waveform signal BS<i> is input to one of the two input terminals of the NAND gate circuit NDBSi (i=0, 1, 2, 3). The output signal from the AND gate circuit AD2 is input to the other input terminal. The write bit line drive signal WBLDRV, a column address signal (changes for each column i) formed from a plurality of bits, and write data DATA are input to the AND gate circuit AD2.

[0308] The gate of the NMOS transistor BN0 is connected to the output terminal of the AND gate circuit AD3, the source is connected to the ground terminal VSS, and the drain is connected to one end of the write bit line WBLi (i=1, . . . ) The write bit line sink signal WBLSNK, a column address signal (changes for each column i) formed from a plurality of bits, and an inverted signal bDATA of the write data are input to the AND gate circuit AD3.

[0309] The column decoder & write bit line driver/sinker (for one column) 17A is formed from NAND gate circuits NDBS4 to NDBS7, AND gate circuits AD4 and AD5, PMOS transistors BS4 to BS7, and NMOS transistor BN1.

[0310] The gate of the PMOS transistor BSi (i=4, 5, 6, 7) is connected to the output terminal of the NAND gate circuit NDBSi, the source is connected to the power supply terminal VDD, and the drain is commonly connected to the other end of the write bit line WBLi (i=1, . . . )

[0311] The write word line current waveform signal BS<i> is input to one of the two input terminals of the NAND gate circuit NDBSi (i=4, 5, 6, 7). The output signal from the AND gate circuit AD4 is input to the other input terminal. The write bit line drive signal WBLDRV, a column address signal (changes for each column i) formed from a plurality of bits, and the inverted signal bDATA of the write data are input to the AND gate circuit AD4.

[0312] The gate of the NMOS transistor BN1 is connected to the output terminal of the AND gate circuit ADS, the source is connected to the ground terminal VSS, and the drain is connected to the other end of the write bit line WBLi (i=1, . . . ) The write bit line sink signal WBLSNK, column address signal (changes for each column i) formed from a plurality of bits, and write data DATA are input to the AND gate circuit AD5.

[0313] In the write operation, both the write bit line drive signal WBLDRV and the write bit line sink signal WBLSNK change to “H”. In addition, in the selected column i, all the bits of the column address signal change to “H”.

[0314] Hence, in the selected column i, the value (magnitude) of the write current flowing from the column decoder & write bit line driver/sinker 16A to the column decoder & write bit line driver/sinker 17A is determined by the write bit line current waveform signals BS<0> to BS<3>.

[0315] In addition, the value (magnitude) of the write current flowing from the column decoder & write bit line driver/sinker 17A to the column decoder & write bit line driver/sinker 16A is determined by the write bit line current waveform signals BS<4> to BS<7>.

[0316] The direction of the write current flowing to the write bit line WBLi is determined by the value of the write data DATA.

[0317] For example, when the write data DATA is “1” (=“H”), at least one of the PMOS transistors BS0 to BS3 is turned on by the write bit line current waveform signals BS<0> to BS<3>. The NMOS transistor BN1 is also turned on. For this reason, the write current flows from the column decoder & write bit line driver/sinker 16A to the column decoder & write bit line driver/sinker 17A.

[0318] When the write data DATA is “0” (=“L”), at least one of the PMOS transistors BS4 to BS7 is turned on by the write bit line current waveform signals BS<4> to BS<7>. The NMOS transistor BN0 is also turned on. For this reason, the write current flows from the column decoder & write bit line driver/sinker 17A to the column decoder & write bit line driver/sinker 16A.

[0319] According to this column decoder & write bit line driver/sinker, when the values of the write bit line current waveform signals BS<0> to BS<7>are controlled, the magnitude (current waveform) of the write current for the write bit line WBLi in the selected column i can be controlled.

[0320] When the write bit line drive signal WBLDRV is set to “L”, and then, the write bit line sink signal WBLSNK is set to “L”, the potential of the write bit line WBLi after the write operation can be completely set to 0 V. It is convenient for initialization.

[0321] To control the value (magnitude) of the write bit line current, the following control methods can be used. As the first method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors BS0 to BS7 are set to the same value. Then, the number of PMOS transistors BS0 to BS7 in the ON state is changed using the write bit line current waveform signals BS<0> to BS<7>.

[0322] As the second method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors BS0 to BS7 are set to different values. Then, one of the plurality of PMOS transistors BS0 to BS7 is selectively turned on using write bit line current waveform signals BS<0> to BS<7>.

[0323] The third method is a combination of the first and second methods. That is, the sizes of the PMOS transistors BS0 to BS7 are set to different values, and the number of PMOS transistors BS0 to BS7 in the ON state is changed, thereby controlling the value (magnitude) of the write current.

{circle over (4)} Write Current Waveform Control Circuit

[0324] An example of the write current waveform control circuit which generates the write word line drive signal WWLDRV, write word line sink signal WWLSNK, write bit line drive signal WBLDRV, and write bit line sink signal WBLSNK will be described next.

[0325]FIG. 19 shows an example of the write current waveform control circuit.

[0326] The write current waveform control circuit 24 is constituted by a WWLDRV generation circuit 25X, WWLSNK generation circuit 25Y, WBLDRV generation circuit 26X, and WBLSNK generation circuit 26Y.

[0327] The WWLDRV generation circuit 25X is formed from inverters IV0 and IV1. The WWLDRV generation circuit 25X generates the write word line drive signal WWLDRV on the basis of the write signal WRITE. The WWLSNK generation circuit 25Y is formed from a NAND gate circuit ND1 and delay circuit 27. The WWLSNK generation circuit 25Y generates the write word line sink signal WWLSNK on the basis of the write signal WRITE.

[0328] The WBLDRV generation circuit 26X is formed from inverters IV2 and IV3. The WBLDRV generation circuit 26X generates the write bit line drive signal WBLDRV on the basis of the write signal WRITE. The WBLSNK generation circuit 26Y is formed from a NAND gate circuit ND2 and delay circuit 28. The WBLSNK generation circuit 26Y generates the write bit line sink signal WBLSNK on the basis of the write signal WRITE.

[0329] In the write operation, the write signal WRITE changes to “H”. When the write signal WRITE changes from “L” to “H”, the write word/bit line drive signals WWLDRV and WBLDRV and write word/bit line sink signals WWLSNK and WBLSNK almost simultaneously change from “L” to “H”.

[0330] The delay circuits 27 and 28 determine the time (interval) from the change of the write signal WRITE from “H” to “L” and the change of the write word/bit line drive signals WWLDRV and WBLDRV from “H” to “L” to the change of the write word/bit line sink signals WWLSNK and WBLSNK from “H” to “L”.

{circle over (5)} Setting Circuit

[0331] The setting circuit which generates the write word line current waveform signals WS<0> to WS<3> and write bit line current waveform signals BS<0> to BS<3> will be described next.

[0332]FIG. 20 shows an example of the setting circuit.

[0333] The setting circuit 23 is formed from a first portion which generates the write word line current waveform signals WS<0> to WS<3> and a second portion which generates the write bit line current waveform signals BS<0> to BS<3>.

[0334] The first portion has registers <0> and <1> in which setting data that determine the current waveform (magnitude) of the write word line current are programmed, and decoders WS<0> to WS<3> which decode output signals TD<0>, TD<1>, bTD<0>, and bTD<1> from the registers <0> and <1> and output the write word line current waveform signals WS<0> to WS<3>.

[0335] The second portion has registers <2> to <4> in which setting data that determine the current waveform (magnitude) of the write bit line current are programmed, and decoders BS<0> to BS<7> which decode output signals TD<2> to TD<4> and bTD<2> to bTD<4> from the registers <2> to <4> and output the write bit line current waveform signals BS<0> to BS<7>.

[0336] In this example, the write word/bit line current is set for each chip or cell array. When the write word/bit line current is to be set for each chip, only one setting circuit 23 is arranged in the chip. When a chip has a plurality of cell arrays, and the write word/bit line current is to be set for each cell array, the setting circuits 23 equal in number to that of the cell arrays are arranged.

[0337] Setting data which determine the current waveform of the write word line current are programmed in the registers <0> and <1>. The current waveform of the write word line current is controlled by the write word line current waveform signals WS<0> to WS<3>, as shown in FIG. 17. In this example, one of the write word line current waveform signals WS<0> to WS<3> changes to “H” in accordance with 2-bit setting data registered in the registers <0> and <1>.

[0338] That is, when the sizes of the PMOS transistors WS0 to WS3 shown in FIG. 17 are set to different values, four current waveforms can be implemented.

[0339] The number of write word line current waveform signals WS<0> to WS<3> to be changed to “H” may be controlled by the 2-bit setting data registered in the registers <0> and <1>. In this case, even when the PMOS transistors WS0 to WS3 shown in FIG. 17 have the same size, four current waveforms can be implemented.

[0340] D<0> and D<1> are setting data which are input from the outside of the magnetic random access memory (chip) in the test mode. In the test mode, the current waveform of the write word line current can be determined on the basis of these setting data, and the characteristics of the MTJ element can be tested.

[0341] D<0> and D<1> are also setting data which are input from the outside of the magnetic random access memory (chip) in the setting data registration mode. In the setting data registration mode, the setting data can electrically be programmed in the storage elements in the registers <0> and <1> on the basis of these setting data.

[0342] Setting data which determine the current waveform of the write bit line current are programmed in the registers <2> to <4>. The current waveform of the write bit line current is controlled by the write bit line current waveform signals BS<0> to BS<3>, as shown in FIG. 18. In this example, one of the write bit line current waveform signals BS<0> to BS<3> changes to “H” in accordance with 3-bit setting data registered in the registers <2> to <4>.

[0343] That is, when the sizes of the PMOS transistors BS0 to BS3 shown in FIG. 18 are set to different values, four current waveforms of the write bit line current from the write bit line driver 16A to the write bit line sinker 17A can be prepared. In addition, when the sizes of the PMOS transistors BS4 to BS7 are set to different values, four current waveforms of the write bit line current from the write bit line driver 17A to the write bit line sinker 16A can be prepared.

[0344] The number of write bit line current waveform signals BS<0> to BS<7> to be changed to “H” may be controlled by the 3-bit setting data registered in the registers <2> to <4>. In this case, even when the PMOS transistors BS0 to BS7 shown in FIG. 18 have the same size, four current waveforms can be implemented for each direction of the write bit line current.

[0345] D<2> to D<4> are setting data which are input from the outside of the magnetic random access memory (chip) in the test mode. In the test mode, the current waveform of the write bit line current can be determined on the basis of these setting data, and the characteristics of the MTJ element can be tested.

[0346] D<2> to D<4> are also setting data which are input from the outside of the magnetic random access memory (chip) in the setting data registration mode. In the setting data registration mode, the setting data can electrically be programmed in the storage elements in the registers <2> to <4> on the basis of these setting data.

{circle over (6)} Register <j>

[0347] A circuit example of a register <j> in the setting circuit 23 shown in FIG. 20 will be described.

[0348] I. Circuit EXAMPLE 1

[0349]FIG. 21 shows a circuit example of the register.

[0350] The register <j> (j=0, 1, 2, 3, 4) is formed from a program data output circuit 29 which outputs programmed setting data as output signals TD<j> and bTD<j>, and an input data transfer circuit 30 which outputs setting data input from the outside of the magnetic random access memory as the output signals TD<j> and bTD<j>.

[0351] The program data output circuit 29 has a laser blow fuse 29A to store setting data. One-bit data is stored in accordance with whether the laser blow fuse 29A is cut. A PMOS transistor P1 and laser blow fuse 29A are connected in series between the power supply terminal VDD and the ground terminal VSS. Since the gate of the PMOS transistor P1 is connected to the ground terminal VSS, the PMOS transistor P1 is always ON.

[0352] The connection point between the PMOS transistor P1 and the laser blow fuse 29A is connected to the input terminal of an inverter I7 through an inverter I9 and transfer gate TG4. The output signal from the inverter I7 is bTD<j>, and the output signal from an inverter I8 is TD<j>.

[0353] The input data transfer circuit 30 is formed from transfer gates TG1 to TG3 and inverters I5 and I6. The inverters I5 and I6 and transfer gate TG3 constitute a latch circuit.

[0354] In the write operation of the normal operation mode, a test signal VCTEST changes to “L”, and a test signal bVCTEST changes to “H”. For this reason, the transfer gate TG4 is turned on, and the transfer gates TG1 and TG2 are turned off.

[0355] Hence, the setting data programmed in the laser blow fuse 29A is output as the output signals TD<j> and bTD<j> through the transfer gate TG4 and inverters I7 to I9.

[0356] In the write operation of the test mode, the test signal VCTEST changes to “H”, and the test signal bVCTEST changes to “L”. For this reason, the transfer gates TG1 and TG2 are turned on, and the transfer gates TG3 and TG4 are turned off.

[0357] Hence, the setting data D<j> input from an external terminal (data input terminal, address terminal, or the like) is output as the output signals TD<j> and bTD<j> through the transfer gates TG1 and TG2 and inverters I5 to I8.

[0358] In the standby state of the test mode, the test signal VCTEST changes to “L”, and the test signal bVCTEST changes to “H”. For this reason, the transfer gates TG1 and TG2 are turned off, and the transfer gates TG3 and TG4 are turned on.

[0359] Hence, the setting data D<j> input from the external terminal is latched by the latch circuit formed from the transfer gate TG3 and inverters I5 and I6. After that, a write test can be performed on the basis of the setting data latched by the latch circuit.

[0360] As the storage element which stores the setting data, in addition to the laser blow fuse, for example, a MTJ element (MTJ) which stores data in accordance with the magnetized state, or a MTJ element which stores data on the basis of whether the tunneling barrier is broken can be used.

[0361] II. Circuit EXAMPLE 2

[0362]FIG. 22 shows another circuit example of the register.

[0363] The register <j> of this example has its characteristic feature in the structure of the program data output circuit 29, as compared to the register <j> shown in FIG. 21. More specifically, the register <j> shown in FIG. 21 uses the laser blow fuse 29A as an element for storing setting data. The register <j> of this example uses a MTJ element (MTJ) as an element for storing setting data.

[0364] The program data output circuit 29 has a MTJ element MTJ which stores setting data. Setting data can be stored in the MTJ element MTJ in accordance with the magnetized state of the MTJ element, i.e., the relationship (parallel or antiparallel) between the magnetizing direction of the fixed layer and that of the storing layer. However, this example does not use the above method.

[0365] This is because the value of setting data that is written in the MTJ element MTJ once is not rewritten again.

[0366] When it is taken into consideration that the MR ratio of the MTJ element MTJ is 20% to 40%, in the setting circuit which outputs the data of the MTJ element MTJ simultaneously with power-on, a high voltage may be applied across the MTJ element MTJ in reading the setting data, and a read error may occur.

[0367] As a characteristic of the MTJ element MTJ, as the bias voltage applied across the MTJ element MTJ becomes high, the MR ratio decreases. For this reason, when setting data is stored in accordance with the magnetized state of the MTJ element, and a high bias voltage is used to obtain a large read signal amount, the MR ratio (the difference in read signal amount between “1” data and “0” data) becomes low, and a read error occurs at a high probability.

[0368] Hence, for the MTJ element MTJ which stores setting data, the setting data is programmed on the basis of not the relationship between the magnetizing direction of the fixed layer and that of the storing layer but whether dielectric breakdown occurs in the tunneling barrier.

[0369] In the setting data programming method using the breakdown of the MTJ element MTJ, the setting data can be kept stored semipermanently.

[0370] One terminal of the MTJ element MTJ is connected to the power supply terminal VDD through the PMOS transistor P1 and an NMOS transistor N1. The other terminal is connected to the ground terminal VSS through an NMOS transistor N2.

[0371] The gate of the PMOS transistor P1 is connected to the ground terminal VSS, and the gate of the NMOS transistor N2 is connected to the ground terminal VSS. For this reason, the MOS transistors P1 and N2 are always ON.

[0372] A clamp potential Vclamp is input to the gate of the NMOS transistor N1. When the clamp potential Vclamp is set to an appropriate value, any high voltage application between the electrodes of the MTJ element MTJ can be prevented in reading the setting data.

[0373]FIG. 23 shows an example of a Vclamp generation circuit which generates the clamp potential Vclamp. A Vclamp generation circuit 31 of this example obtains the clamp potential Vclamp by resistance-dividing the output voltage from a BGR circuit. The clamp potential Vclamp is 0.3 to 0.5 V.

[0374] A NAND gate circuit ND4 and PMOS transistor P2 are elements which are necessary when the setting data programming method using dielectric breakdown of the MTJ element MTJ should be employed.

[0375] In programming setting data, a program signal PROG changes to “H”. For example, to write setting data “1” in the MTJ element MTJ, “1” (=“H”) is input from the external terminal (data input terminal, address terminal, dedicated terminal, or the like) as setting data D<j>.

[0376] At this time, the output signal from the NAND gate circuit ND4 changes to “L”, and the PMOS transistor P2 is turned on. Hence, a high voltage is applied across the MTJ element MTJ to break the tunneling barrier of the MTJ element MTJ. As a result, the setting data “1” is programmed in the MTJ element MTJ. In this case, TD<j> is “L”, and bTD<j> is “H”.

[0377] On the other hand, to write setting data “0” in the MTJ element MTJ, “0” (=“L”) is input from the external terminal (data input terminal, address terminal, dedicated terminal, or the like) as setting data D<j>.

[0378] At this time, the output signal from the NAND gate circuit ND4 changes to “H”, and the PMOS transistor P2 is turned off. Since no high voltage is applied across the MTJ element MTJ, the tunneling barrier of the MTJ element MTJ is not broken. As a result, the setting data “0” is programmed in the MTJ element MTJ. In this case, TD<j> is “H”, and bTD<j> is “L”.

[0379] The connection point between the PMOS transistor P1 and the NMOS transistor N1 is connected to the input terminal of the inverter I7 through the inverter I9 and transfer gate TG4. The output signal from the inverter I7 is bTD<j>, and the output signal from the inverter I8 is TD<j>.

{circle over (7)} Decoders WS<0> to WS<3> and BS<0> to BS<7>

[0380] A circuit example of the decoders WS<0> to WS<3> and BS<0> to BS<7> in the setting circuit 23 shown in FIG. 20 will be described.

[0381]FIG. 24 shows a circuit example of the decoder.

[0382] Each of the decoders WS<0> to WS<3> and BS<0> to BS<7> is formed from a NAND gate circuit ND3 and inverter I10.

[0383] Three input signals A, B, and C are input to the NAND gate circuit ND3. The output signal from the NAND gate circuit ND3 is input to the inverter I10. An output signal D from the inverter I10 is one of the write word/bit line current waveform signals WS<0> to WS<3> and BS<0> to BS<7>.

[0384] Table 1 is the decoding table (the relationship between the input signals and the output signals) of the decoders WS<0> to WS<3> and BS<0> to BS<7>. TABLE 1 INPUT OUTPUT A B C D bTD<0> bTD<1> VDD WS<0>  TD<0> bTD<1> VDD WS<1> bTD<0>  TD<1> VDD WS<2>  TD<0 >  TD<1> VDD WS<3> bTD<2> bTD<3> bTD<4> BS<0>  TID<2> bTD<3> bTD<4> ES<1> bTD<2>  TD<3> bTD<4> BS<2>  TD<2>  TD<3> bTD<4> BS<3> bTD<2> bTD<3>  TD<4> BS<4>  TD<2> bTD<3>  TD<4> BS<5> bTD<2>  TD<3>  TD<4> BS<6>  TD<2>  TD<3>  TD<4> BS<7>

{circle over (8)} Operation Waveform Example

[0385]FIG. 25 shows an example of the operation waveforms of the write word line driver/sinker shown in FIG. 17.

[0386] When the write signal WRITE changes to “H”, the write word line drive signal WWLDRV and write word line sink signal WWLSNK change to “H”. At this time, a write word line current having a current waveform corresponding to the values of the write word line current waveform signals WS<0> to WS<3> flows to the write word line WWLi.

[0387] When the write signal WRITE changes to “L”, the write word line drive signal WWLDRV changes to “L” first. After a predetermined time determined by the delay time of the delay circuit 27 shown in FIG. 19 elapses, the write word line sink signal WWLSNK changes to “L”. This predetermined time is prepared to set the potential of the write word line WWLi to 0 V after the end of write operation.

[0388]FIG. 26 shows an example of the operation waveforms of the write bit line driver/sinker shown in FIG. 18.

[0389] When the write signal WRITE changes to “H”, the write bit line drive signal WBLDRV and write bit line sink signal WBLSNK change to “H”. At this time, a write bit line current having a direction corresponding to the value of the write data DATA and a current waveform corresponding to the values of the write bit line current waveform signals BS<0> to BS<3> and BS<4> to BS<7> flows to the write bit line WBLi.

[0390] When the write signal WRITE changes to “L”, the write bit line drive signal WBLDRV changes to “L” first. After a predetermined time determined by the delay time of the delay circuit 28 shown in FIG. 19 elapses, the write bit line sink signal WBLSNK changes to “L”. This predetermined time is prepared to set the potential of the write bit line WBLi to 0 V after the end of write operation.

{circle over (8)} Conclusion

[0391] As described above, according to the magnetic random access memory of this embodiment, the current waveform (magnitude) of the write current for the write word/bit line can be set for each chip or memory cell array by programming. In addition, the current waveform of the write word line current and that of the write bit line current can independently be determined. Furthermore, for the write bit line current, the current waveform of the write bit line current can be determined individually for each write data value (direction of the write current).

[0392] With this arrangement, for example, Write Principles 1 to 5 described above can be implemented, the magnetizing direction of the storing layer of the MTJ element can reliably be reversed, and the write characteristics can be improved.

[0393] (2) Setting for Each Write Word/Bit Line

[0394] Write characteristics or asteroid curves of MTJ elements may change between write word/bit lines due to manufacturing variations.

[0395] A circuit (including a function capable of setting the magnetic field intensity individually for each magnetizing reversing direction) which sets the magnitude of a write current, i.e., the intensity of a write magnetic field necessary for reversing the magnetizing direction of the free layer (storing layer) of a MTJ element for each write word/bit line in consideration of such a variation in write characteristics (e.g., a shift of an asteroid curve) will be described.

{circle over (1)} Overall Arrangement

[0396]FIG. 27 shows the arrangement of main part of a magnetic random access memory according to another embodiment of the present invention.

[0397] A magnetic random access memory (MRAM) 11 may construct one memory chip by itself or one block in a chip having a specific function. A memory cell array (data cell) 12 has a function of actually storing data. A reference cell array 13 has a function of setting a criterion to be used to determine the value of read data in read operation.

[0398] A row decoder & driver (row decoder & write word line driver and row decoder & read word line driver) 14-1 is arranged at one of two X-direction ends of a cell array formed from the memory cell array 12 and reference cell array 13. A write word line sinker 15 is arranged at the other end.

[0399] The row decoder & driver 14-1 has a function of, e.g., selecting one of a plurality of write word lines on the basis of a row address signal and supplying a write current to the selected write word line in the write operation. The write word line sinker 15 has a function of, e.g., absorbing the write current supplied to the selected write word line in the write operation.

[0400] The row decoder & driver 14-1 has a function of, e.g., selecting one of a plurality of read word lines (the read word lines may be integrated with the write word lines) on the basis of a row address signal and supplying a read current to the selected read word line in the read operation. A sense amplifier 20 detects, e.g., the read current and determines read data.

[0401] A column decoder & write bit line driver/sinker 16A-1 is arranged at one of two Y-direction ends of the memory cell array 12. A column decoder & write bit line driver/sinker (including a column transfer gate and column decoder) 17A-1 is arranged at the other end.

[0402] The column decoders & write bit line drivers/sinkers 16A-1 and 17A-1 have a function of, e.g., selecting one of a plurality of write bit lines (or data lines) on the basis of a column address signal and supplying a write current having a direction corresponding to write data to the selected write bit line in the write operation. The column transfer gate and column decoder have a function of electrically connecting the data line selected by the column address signal to the sense amplifier 20 in the read operation.

[0403] A reference cell column decoder & write bit line driver/sinker 16B is arranged at one of two Y-direction ends of the reference cell array 13. A reference cell column decoder & write bit line driver/sinker (including a column transfer gate and column decoder) 17B is arranged at the other end.

[0404] The reference cell column decoders & write bit line drivers/sinkers 16B and 17B have a function of storing reference data in the reference cell array 13. The column transfer gate and column decoder have a function of reading out the reference data and transferring it to the sense amplifier 20 in the read operation.

[0405] An address receiver 18 receives an address signal and transfers, e.g., a row address signal to the row decoder & driver 14-1 and a column address signal to the column decoders & write bit line drivers/sinkers 16A-1 and 17A-1. A data input receiver 19 transfers the write data to the column decoders & write bit line drivers/sinkers 16A-1 and 17A-1. An output driver 21 outputs the read data detected by the sense amplifier 20 from the magnetic random access memory 11.

[0406] A control circuit 22 receives a /CE (Chip Enable) signal, /WE (Write Enable) signal, and /OE (Output Enable) signal and controls the operation of the magnetic random access memory 11. For example, in the write operation, the control circuit 22 supplies a write signal WRITE to write current waveform control circuits/setting circuits 14-2, 16A-2, and 17A-2.

[0407] Upon receiving the write signal WRITE, each of the write current waveform control circuits/setting circuits 14-2, 16A-2, and 17A-2 determines the current waveforms (magnitudes and the like) of write currents on the basis of, e.g., setting data that are programmed in the setting circuit in advance.

[0408] More specifically, in the write operation, the write current waveform control circuit/setting circuit 14-2 supplies a write word line drive signal WWLDRV and write word line current waveform signals WS<0> to WS<3> to the row decoder & driver 14-1 and a write word line sink signal WWLSNK to the write word line sinker 15. The write current waveform control circuits/setting circuits 16A-2 and 17A-2 supply a write bit line drive signal WBLDRV, write bit line current waveform signals BS<0> to BS<7>, and write bit line sink signal WBLSNK to the column decoders & write bit line drivers/sinkers 16A-1 and 17A-1.

[0409] The write word line current waveform signals WS<0> to WS<3> are supplied, individually for each write word line, to the row decoders & write word line drivers arranged in correspondence with the write word lines. With this arrangement, the current waveform of the write current can be controlled for each write word line.

[0410] The write bit line current waveform signals BS<0> to BS<7> are supplied, individually for each write bit line, to the column decoders & write bit line drivers arranged in correspondence with the write bit lines. With this arrangement, the current waveform of the write current can be controlled for each write bit line.

[0411] The write bit line current waveform signals BS<0> to BS<3> determine the current waveforms of the write bit line currents that flow in one direction. The write bit line current waveform signals BS<4> to BS<7> determine the current waveforms of the write bit line currents that flow in the other direction reverse to one direction. Hence, the current waveform of the write current can be controlled for each write word/bit line and each write data.

[0412] As for the write current absorption timing, for example, when the timings to change the sink signals WWLSNK and WBLSNK from “H” to “L” are set after the timings to change the drive signals WWLDRV and WBLDRV from “H” to “L”, the potential of the write word/bit line can be completely set to 0 V.

[0413] The values of the write word line drive signals WS<0> to WS<3> are determined on the basis of, e.g., setting data programmed in the setting circuit in advance. The values of the write bit line current waveform signals BS<0> to BS<7> are also determined on the basis of, e.g., setting data programmed in the setting circuit.

[0414] As a programming element which stores setting data, for example, a laser blow fuse, a MTJ element (MTJ), or an antifuse which breaks the tunneling barrier of a MTJ element can be used.

[0415] In the test mode of the magnetic random access memory, a write test for the MTJ element may be executed on the basis of setting data D<j> input from, e.g., a data input/output terminal.

[0416] With this write test, the write characteristics of the MTJ elements in the memory cell array 12 are grasped, and the value of the write word/bit line current (the intensity of the synthesized magnetic field Hx+Hy) in the normal write operation is determined. The setting data may be input from an address terminal.

[0417] After that, the programming operation of setting data is performed in accordance with the result of the test mode. The programming operation is operation of programming the result of the test mode, i.e., the value of the write word/bit line current in the programming element in the setting circuit.

[0418] In the programming operation, a program signal PROG changes to “H”. The value of the write word/bit line current in the normal write operation is programmed in, e.g., the programming element in the setting circuit 23 by controlling the value of the setting data D<j> input from the data input/output terminal or address terminal.

{circle over (2)} Row Decoder & Write Word Line Driver/Sinker

[0419]FIG. 28 shows a circuit example of the row decoder & write word line driver/sinker.

[0420] The row decoder & write word line driver (for one row) 14-1 is formed from an AND gate circuit AD1, NAND gate circuits NDWS0 to NDWS3, and PMOS transistors WS0 to WS3. The gate of a PMOS transistor WSi (i=0, 1, 2, 3) is connected to the output terminal of a NAND gate circuit NDWSi, the source is connected to a power supply terminal VDD, and the drain is connected to one end of a write word line WWLi (i=1, . . . )

[0421] A write word line current waveform signal WS<i> is input to one of the two input terminals of the NAND gate circuit NDWSi. The output signal from the AND gate circuit AD1 is input to the other input terminal. The write word line drive signal WWLDRV and a row address signal (changes for each row i) formed from a plurality of bits are input to the AND gate circuit AD1.

[0422] The write word line sinker (for one row) 15 is formed from an NMOS transistor TN1. The source of the NMOS transistor TN1 is connected to a ground terminal VSS, and the drain is connected to the other end of the write word line WWLi. The write word line sink signal WWLSNK is input to the gate of the NMOS transistor TN1.

[0423] In the write operation, the write word line drive signal WWLDRV changes to “H”. At the same time, in the selected row i, all bits of the row address signal change to “H”. That is, in the selected row i, since the output signal from the AND circuit AD1 changes to “H”, a write word line current having a predetermined value (magnitude) is supplied to the write word line WWLi in accordance with the values of the write word line current waveform signals WS<0> to WS<3>.

[0424] When the write word line sink signal WWLSNK changes to “H”, the NMOS transistor TN1 is turned on. For this reason, the write current flowing to the write word line WWLi is absorbed by the ground point VSS through the NMOS transistor TN1.

[0425] According to this row decoder & write word line driver/sinker, when the values of the write word line current waveform signals WS<0> to WS<3> are controlled, the magnitude (current waveform) of the write current for the write word line WWLi in the selected row i can be controlled.

[0426] When the write word line drive signal WWLDRV is set to “L”, and then, the write word line sink signal WWLSNK is set to “L”, the potential of the write word line WWLi after the write operation can be completely set to 0 V. It is convenient for initialization.

[0427] To control the value (magnitude) of the write word line current, the following control methods can be used. As the first method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors WS0 to WS3 are set to the same value. Then, the number of PMOS transistors WS0 to WS3 in the ON state is changed using the write word line current waveform signals WS<0> to WS<3>.

[0428] As the second method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors WS0 to WS3 are set to different values. Then, one of the plurality of PMOS transistors WS0 to WS3 is selectively turned on using write word line current waveform signals WS<0> to WS<3>.

[0429] The third method is a combination of the first and second methods. That is, the sizes of the PMOS transistors WS0 to WS3 are set to different values, and the number of PMOS transistors WS0 to WS3 in the ON state is changed, thereby controlling the value (magnitude) of the write current.

{circle over (3)} Column Decoder & Write Bit Line Driver/Sinker

[0430]FIG. 29 shows a circuit example of the column decoder & write bit line driver/sinker.

[0431] The column decoder & write bit line driver/sinker (for one column) 16A-1 is formed from NAND gate circuits NDBS0 to NDBS3, AND gate circuits AD2 and AD3, PMOS transistors BS0 to BS3, and NMOS transistor BN0.

[0432] The gate of a PMOS transistor BSi (i=0, 1, 2, 3) is connected to the output terminal of a NAND gate circuit NDBSi, the source is connected to the power supply terminal VDD, and the drain is commonly connected to one end of a write bit line WBLi (i=1, . . . )

[0433] A write word line current waveform signal BS<i> is input to one of the two input terminals of the NAND gate circuit NDBSi (i=0, 1, 2, 3). The output signal from the AND gate circuit AD2 is input to the other input terminal. The write bit line drive signal WBLDRV, a column address signal (changes for each column i) formed from a plurality of bits, and write data DATA are input to the AND gate circuit AD2.

[0434] The gate of the NMOS transistor BN0 is connected to the output terminal of the AND gate circuit AD3, the source is connected to the ground terminal VSS, and the drain is connected to one end of the write bit line WBLi (i=1, . . . ) The write bit line sink signal WBLSNK, a column address signal (changes for each column i) formed from a plurality of bits, and an inverted signal bDATA of the write data are input to the AND gate circuit AD3.

[0435] The column decoder & write bit line driver/sinker (for one column) 17A-1 is formed from NAND gate circuits NDBS4 to NDBS7, AND gate circuits AD4 and AD5, PMOS transistors BS4 to BS7, and NMOS transistor BN1.

[0436] The gate of the PMOS transistor BSi (i=4, 5, 6, 7) is connected to the output terminal of the NAND gate circuit NDBSi, the source is connected to the power supply terminal VDD, and the drain is commonly connected to the other end of the write bit line WBLi (i=1, . . . )

[0437] The write word line current waveform signal BS<i> is input to one of the two input terminals of the NAND gate circuit NDBSi (i=4, 5, 6, 7). The output signal from the AND gate circuit AD4 is input to the other input terminal. The write bit line drive signal WBLDRV, a column address signal (changes for each column i) formed from a plurality of bits, and the inverted signal bDATA of the write data are input to the AND gate circuit AD4.

[0438] The gate of the NMOS transistor BN1 is connected to the output terminal of the AND gate circuit AD5, the source is connected to the ground terminal VSS, and the drain is connected to the other end of the write bit line WBLi (i=1, . . . ) The write bit line sink signal WBLSNK, column address signal (changes for each column i) formed from a plurality of bits, and write data DATA are input to the AND gate circuit ADS.

[0439] In the write operation, both the write bit line drive signal WBLDRV and the write bit line sink signal WBLSNK change to “H”. In addition, in the selected column i, all the bits of the column address signal change to “H”.

[0440] Hence, in the selected column i, the value (magnitude) of the write current flowing from the column decoder & write bit line driver/sinker 16A-1 to the column decoder & write bit line driver/sinker 17A-1 is determined by the write bit line current waveform signals BS<0> to BS<3>.

[0441] In addition, the value (magnitude) of the write current flowing from the column decoder & write bit line driver/sinker 17A-1 to the column decoder & write bit line driver/sinker 16A-1 is determined by the write bit line current waveform signals BS<4> to BS<7>.

[0442] The direction of the write current flowing to the write bit line WBLi is determined by the value of the write data DATA.

[0443] For example, when the write data DATA is “1” (=“H”), at least one of the PMOS transistors BS0 to BS3 is turned on by the write bit line current waveform signals BS<0> to BS<3>. The NMOS transistor BN1 is also turned on. For this reason, the write current flows from the column decoder & write bit line driver/sinker 16A-1 to the column decoder & write bit line driver/sinker 17A-1.

[0444] When the write data DATA is “0” (=“L”), at least one of the PMOS transistors BS4 to BS7 is turned on by the write bit line current waveform signals BS<4> to BS<7>. The NMOS transistor BN0 is also turned on. For this reason, the write current flows from the column decoder & write bit line driver/sinker 17A-1 to the column decoder & write bit line driver/sinker 16A-1.

[0445] According to this column decoder & write bit line driver/sinker, when the values of the write bit line current waveform signals BS<0> to BS<7> are controlled, the magnitude (current waveform) of the write current for the write bit line WBLi in the selected column i can be controlled.

[0446] When the write bit line drive signal WBLDRV is set to “L”, and then, the write bit line sink signal WBLSNK is set to “L”, the potential of the write bit line WBLi after the write operation can be completely set to 0 V. It is convenient for initialization.

[0447] To control the value (magnitude) of the write bit line current, the following control methods can be used. As the first method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors BS0 to BS7 are set to the same value. Then, the number of PMOS transistors BS0 to BS7 in the ON state is changed using the write bit line current waveform signals BS<0> to BS<7>.

[0448] As the second method, the sizes (channel widths), i.e., the driving capabilities of the plurality of PMOS transistors BS0 to BS7 are set to different values. Then, one of the plurality of PMOS transistors BS0 to BS7 is selectively turned on using write bit line current waveform signals BS<0> to BS<7>.

[0449] The third method is a combination of the first and second methods. That is, the sizes of the PMOS transistors BS0 to BS7 are set to different values, and the number of PMOS transistors BS0 to BS7 in the ON state is changed, thereby controlling the value (magnitude) of the write current.

{circle over (4)} Write Current Waveform Control Circuit/Setting Circuit

[0450] An example of the write current waveform control circuit/setting circuit which generates the write word line drive signal WWLDRV, write word line sink signal WWLSNK, write bit line drive signal WBLDRV, and write bit line sink signal WBLSNK will be described next.

[0451]FIG. 30 shows an example of the write current waveform control circuit/setting circuit 14-2 in FIG. 27.

[0452]FIG. 30 shows the write current waveform control circuit/setting circuit 14-2 corresponding to only one row. Hence, the actual number of each of the elements (write word line driver/sinker trigger circuit 25 and setting circuit 23A) shown in FIG. 30 equals the number of rows.

[0453] The write current waveform control circuit/setting circuit 14-2 is formed from the write word line driver/sinker trigger circuit 25 and setting circuit 23A.

[0454] The write word line driver/sinker trigger circuit 25 generates the write word line drive signal WWLDRV and write word line sink signal WWLSNK on the basis of the write signal WRITE.

[0455] The setting circuit 23A outputs the write word line current waveform signals WS<0> to WS<3> on the basis of setting data. The setting data is programmed in advance in a programming element (fuse element, MTJ element, or the like) in the setting circuit 23A on the basis of the program signal PROG, address signal (row i), and input data D<0> to D<3>.

[0456] In this example, the setting data can be programmed at any time, e.g., in a wafer state or in a product state after assembly. When the setting data should be programmed after assembly, the setting data can be registered in the setting circuit 23A by inputting the input data D<0> to D<3> from, e.g., a data input pin, address pin, or dedicated pin.

[0457] The write signal WRITE changes to “H” in the write operation.

[0458] When the write signal WRITE changes to “H”, the write word line driver/sinker trigger circuit 25 changes the write word line drive signal WWLDRV and write word line sink signal WWLSNK to “H”.

[0459] The setting circuit 23A always outputs the write word line current waveform signals WS<0> to WS<3> based on the setting data. The write word line current waveform signals WS<0> to WS<3> determine the current waveform of the write word line current.

[0460]FIG. 31 shows an example of the write current waveform control circuit/setting circuit 16A-2 in FIG. 27.

[0461]FIG. 31 shows the write current waveform control circuit/setting circuit 16A-2 corresponding to only one column. Hence, the actual number of each of the elements (write bit line driver/sinker trigger circuit 26-1 and setting circuit 23B-1) shown in FIG. 31 equals the number of columns.

[0462] The write current waveform control circuit/setting circuit 16A-2 is formed from the write bit line driver/sinker trigger circuit 26-1 and setting circuit 23B-1.

[0463] The write bit line driver/sinker trigger circuit 26-1 generates the write bit line drive signal WBLDRV and write bit line sink signal WBLSNK on the basis of the write signal WRITE.

[0464] The setting circuit 23B-1 outputs the write bit line current waveform signals BS<0> to BS<3> on the basis of setting data. The setting data is programmed in advance in a programming element (fuse element, MTJ element, or the like) in the setting circuit 23B-1 on the basis of the program signal PROG, address signal (column i), and input data D<0> to D<3>.

[0465] In this example, the setting data can be programmed at any time, e.g., in a wafer state or in a product state after assembly. When the setting data should be programmed after assembly, the setting data can be registered in the setting circuit 23B-1 by inputting the input data D<0> to D<3> from, e.g., a data input pin, address pin, or dedicated pin.

[0466] The write signal WRITE changes to “H” in the write operation.

[0467] When the write signal WRITE changes to “H”, the write bit line driver/sinker trigger circuit 26-1 changes the write bit line drive signal WBLDRV and write bit line sink signal WBLSNK to “H”.

[0468] The setting circuit 23B-1 always outputs the write bit line current waveform signals BS<0> to BS<3>. The write bit line current waveform signals BS<0> to BS<3> determine the current waveform of the write bit line current.

[0469]FIG. 32 shows an example of the write current waveform control circuit/setting circuit 17A-2 in FIG. 27.

[0470]FIG. 32 shows the write current waveform control circuit/setting circuit 17A-2 corresponding to only one column. Hence, the actual number of each of the elements (write bit line driver/sinker trigger circuit 26-2 and setting circuit 23B-2) shown in FIG. 32 equals the number of columns.

[0471] The write current waveform control circuit/setting circuit 17A-2 is formed from the write bit line driver/sinker trigger circuit 26-2 and setting circuit 23B-2.

[0472] The write bit line driver/sinker trigger circuit 26-2 generates the write bit line drive signal WBLDRV and write bit line sink signal WBLSNK on the basis of the write signal WRITE.

[0473] The setting circuit 23B-2 outputs the write bit line current waveform signals BS<4> to BS<7> on the basis of setting data. The setting data is programmed in advance in a programming element (fuse element, MTJ element, or the like) in the setting circuit 23B-2 on the basis of the program signal PROG, address signal (column i), and input data D<4> to D<7>.

[0474] In this example, the setting data can be programmed at any time, e.g., in a wafer state or in a product state after assembly. When the setting data should be programmed after assembly, the setting data can be registered in the setting circuit 23B-2 by inputting the input data D<4> to D<7> from, e.g., a data input pin, address pin, or dedicated pin.

[0475] The write signal WRITE changes to “H” in the write operation.

[0476] When the write signal WRITE changes to “H”, the write bit line driver/sinker trigger circuit 26-2 changes the write bit line drive signal WBLDRV and write bit line sink signal WBLSNK to “H”.

[0477] The setting circuit 23B-2 always outputs the write bit line current waveform signals BS<4> to BS<7>. The write bit line current waveform signals BS<4> to BS<7> determine the current waveform of the write bit line current.

{circle over (5)} Write Word Line Driver/Sinker Trigger Circuit

[0478]FIG. 33 shows an example of the write word line driver/sinker trigger circuit shown in FIG. 30.

[0479] The write word line driver/sinker trigger circuit 25 is formed from a current supply/cutoff timing determining circuit 25X which determines the current supply/cutoff timing of the write current and a current absorption timing determining circuit 25Y which determines the current absorption timing of the write current.

[0480] The current supply/cutoff timing determining circuit 25X is formed from a plurality of (in this example, two) inverters IV0 and IV1. The current supply/cutoff timing determining circuit 25X determines the timing to change the write word line drive signal WWLDRV to “H” or “L” in accordance with the timing to change the write signal WRITE to “H” or “L”.

[0481] The current absorption timing determining circuit 25Y is formed from a NAND gate circuit ND1 and delay circuit 27. When the write signal WRITE changes to “H”, the current absorption timing determining circuit 25Y almost simultaneously changes the write word line sink signal WWLSNK to “H”. After the write signal WRITE changes to “L”, and a delay time determined by the delay circuit 27 elapses, the current absorption timing determining circuit 25Y changes the write word line sink signal WWLSNK to “L”.

[0482] As described above, the write signal WRITE is changed to “L” first. After a predetermined interval, the write word line sink signal WWLSNK is changed to “L”. With this arrangement, the write word line WWLi can be completely set to 0 V after the end of write operation.

{circle over (6)} Write Bit Line Driver/Sinker Trigger Circuit

[0483]FIG. 34 shows an example of the write bit line driver/sinker trigger circuit shown in FIG. 31.

[0484] The write bit line driver/sinker trigger circuit 26-1 is formed from a current supply/cutoff timing determining circuit 26X which determines the current supply/cutoff timing of the write current and a current absorption timing determining circuit 26Y which determines the current absorption timing of the write current.

[0485] The current supply/cutoff timing determining circuit 26X is formed from the plurality of (in this example, two) inverters IV0 and IV1. The current supply/cutoff timing determining circuit 26X determines the timing to change the write bit line drive signal WBLDRV to “H” or “L” in accordance with the timing to change the write signal WRITE to “H” or “L”.

[0486] The current absorption timing determining circuit 26Y is formed from a NAND gate circuit ND2 and delay circuit 28. When the write signal WRITE changes to “H”, the current absorption timing determining circuit 26Y almost simultaneously changes the write bit line sink signal WBLSNK to “H”. After the write signal WRITE changes to “L”, and a delay time determined by the delay circuit 28 elapses, the current absorption timing determining circuit 26Y changes the write bit line sink signal WBLSNK to “L”.

[0487] As described above, the write signal WRITE is changed to “L” first. After a predetermined interval, the write bit line sink signal WBLSNK is changed to “L”. With this arrangement, the write bit line WBLi can be completely set to 0 V after the end of write operation.

[0488]FIG. 35 shows an example of the write bit line driver/sinker trigger circuit shown in FIG. 32.

[0489] The write bit line driver/sinker trigger circuit 26-2 is formed from the current supply/cutoff timing determining circuit 26X which determines the current supply/cutoff timing of the write current and a current absorption timing determining circuit 26Y which determines the current absorption timing of the write current.

[0490] The current supply/cutoff timing determining circuit 26X is formed from the plurality of (in this example, two) inverters IV0 and IV1. The current supply/cutoff timing determining circuit 26X determines the timing to change the write bit line drive signal WBLDRV to “H” or “L” in accordance with the timing to change the write signal WRITE to “H” or “L”.

[0491] The current absorption timing determining circuit 26Y is formed from the NAND gate circuit ND2 and delay circuit 28. When the write signal WRITE changes to “H”, the current absorption timing determining circuit 26Y almost simultaneously changes the write bit line sink signal WBLSNK to “H”. After the write signal WRITE changes to “L”, and a delay time determined by the delay circuit 28 elapses, the current absorption timing determining circuit 26Y changes the write bit line sink signal WBLSNK to “L”.

[0492] As described above, the write signal WRITE is changed to “L” first. After a predetermined interval, the write bit line sink signal WBLSNK is changed to “L”. With this arrangement, the write bit line WBLi can be completely set to 0 V after the end of write operation.

{circle over (7)} Setting Circuit

[0493]FIG. 36 shows an example of the setting circuit 23A shown in FIG. 30.

[0494] The setting circuit 23A has a MTJ element MTJ which stores setting data. In this example, 1-bit data is stored on the basis of the presence/absence of breakdown of the tunneling barrier of the MTJ element MTJ. Note that 1-bit data may be stored in accordance with the magnetized state (parallel or antiparallel) of the MTJ element MTJ.

[0495] One terminal of the MTJ element MTJ is connected to the ground point VSS through an NMOS transistor N2.

[0496] The NMOS transistor N2 is always ON because the power supply potential VDD is applied to the gate of the NMOS transistor N2.

[0497] The other terminal of the MTJ element MTJ is connected to the power supply potential VDD through an NMOS transistor N1 and PMOS transistor P1. The PMOS transistor P1 is always ON because the ground potential VSS is applied to the gate of the PMOS transistor P1.

[0498] A clamp potential Vclamp is applied to the gate of the NMOS transistor N1.

[0499] The NMOS transistor N1 whose gate receives the clamp potential Vclamp has a function of preventing any high voltage from being applied to the MTJ element MTJ (preventing breakdown of the MTJ element MTJ) in the is normal operation, i.e., when the write word line current waveform signals WS<0> to WS<3> are output from the setting circuit 23A in the write operation.

[0500] A Vclamp generation circuit which generates the clamp potential Vclamp can be formed from the circuit as shown in FIG. 23.

[0501] A NAND gate circuit ND4 and PMOS transistor P2 are used when setting data which determines the current waveform or the like of the write current is to be written in the MTJ element MTJ.

[0502] More specifically, as described above, in this example, the setting data is stored in the MTJ element MTJ semipermanently on the basis of the presence/absence of breakdown of the tunneling barrier. To break the tunneling barrier of the MTJ element MTJ, the PMOS transistor P2 is turned on to apply a high voltage across the MTJ element MTJ.

[0503] The program signal PROG changes to “H” in writing setting data. For example, the program signal PROG can be supplied from the data input pin or address pin after assembly. The program signal PROG may be supplied from a dedicated pin.

[0504] When setting data should be written in the setting circuit 23A in the row i, all the bits of the address signal for selecting the row i change to “H”.

[0505] For this reason, in writing the setting data, the value of the output signal from the NAND gate circuit ND4 changes in accordance with the values of the input data D<0> to D<3> in the setting circuit 23A in the row i.

[0506] For example, when the input data D<0> is “1” (=“H”), the output signal from the NAND gate circuit ND4 is “L”. For this reason, the PMOS transistor P2 is turned on to break the tunneling barrier of the MTJ element MTJ, and “1” is stored in the MTJ element MTJ. In this case, the write word line current waveform signal WS<0> is “H”.

[0507] When the input data D<0> is “0” (=“L”), the output signal from the NAND gate circuit ND4 is “H”. For this reason, the PMOS transistor P2 is turned off. The tunneling barrier of the MTJ element MTJ is not broken, and “0” is stored in the MTJ element MTJ. In this case, the write word line current waveform signal WS<0> is “L”.

[0508] In this way, setting data can be written in the setting circuit 23A in accordance with the input data D<0> to D<3>, and the values of the write word line current waveform signals WS<0> to WS<3> are determined.

[0509]FIG. 37 shows an example of the setting circuit 23B-1 shown in FIG. 31. FIG. 38 shows an example of the setting circuit 23B-2 shown in FIG. 32.

[0510] The setting circuits 23B-1 and 23B-2 shown in FIGS. 37 and 38 have the same arrangement as that of the setting circuit 23A in FIG. 36 described above. Setting data is stored semipermanently on the basis of the presence/absence of breakdown of the tunneling barrier of the MTJ element MTJ.

[0511] The program signal PROG changes to “H” in writing setting data. When setting data should be written in the setting circuit 23B-1 or 23B-2 in the column i, all the bits of the address signal for selecting the column i change to “H”.

[0512] For this reason, in writing the setting data, the value of the output signal from the NAND gate circuit ND4 changes in accordance with the values of the input data D<0> to D<7> in the setting circuit 23B-1 or 23B-2 in the column i.

[0513] For example, when the input data D<0> is “1” (=“H”), the output signal from the NAND gate circuit ND4 is “L”. For this reason, the PMOS transistor P2 is turned on to break the tunneling barrier of the MTJ element MTJ, and “1” is stored in the MTJ element MTJ.

[0514] In this case, the write bit line current waveform signal BS<0> is “H”.

[0515] When the input data D<0> is “0” (=“L”), the output signal from the NAND gate circuit ND4 is “H”. For this reason, the PMOS transistor P2 is turned off. The tunneling barrier of the MTJ element MTJ is not broken, and “0” is stored in the MTJ element MTJ.

[0516] In this case, the write bit line current waveform signal BS<0> is “L”.

[0517] In this way, when the input data D<0> to D<7> are written in the setting circuit 23B-1 or 23B-2 as setting data, the values of the write bit line current waveform signals BS<0> to BS<3> and the values of the write bit line current waveform signals BS<4> to BS<7> are determined.

[0518] The input data D<0> to D<3> determine the current waveform of the write bit line current in one direction, and the input data D<4> to D<7> determine the current waveform of the write bit line current in the other direction opposite to one direction.

[0519] In each write bit line, when the write bit lines should have the same current waveform independently of the write data, i.e., the direction of the write bit line current, the setting circuit 23B-2 shown in FIG. 38 can be omitted. In this case, both the write bit line drivers/sinkers 16A-1 and 17A-1 are controlled by the write bit line current waveform signals BS<0> to BS<3>.

{circle over (8)} Conclusion

[0520] As described above, according to the magnetic random access memory of this embodiment, the current waveform (magnitude) of the write current for the write word/bit line can be set for each write word line and each write bit line by programming. In addition, for the write bit line current, the current waveform of the write current can be determined individually for each write data value (direction of the write current).

[0521] With this arrangement, for example, Write Principles 1 to 5 described above can be implemented, the magnetizing direction of the storing layer of the MTJ element can reliably be reversed, and the write characteristics can be improved.

[0522] (3) Setting for Each TMR Element

[0523] As a modification of the circuit scheme for setting the current waveform of a write current for each write word/bit line described in (2), a circuit scheme for setting the current waveform of the write current for each MTJ element can be implemented.

[0524] In this case, the setting circuits 23A, 23B-1, and 23B-2 shown in FIGS. 36 to 38 are prepared to be equal in number to the MTJ elements and selected by a row address signal and column address signal. The circuit scheme can theoretically be implemented although the numbers of setting circuits 23A, 23B-1, and 23B-2 largely increase.

[0525] (4) Stacking Memory Cell Arrays

[0526] In recent years, to implement highly integrated memory cells (MTJ elements), a number of cell array structures in which a plurality of stages of memory cell arrays are stacked on a semiconductor substrate (chip) have been proposed.

[0527] The write principles according to the embodiments of the present invention and circuit schemes which implement them have been described above. They can also be applied to a magnetic random access memory having memory cell arrays stacked in a plurality of stages.

{circle over (1)} Setting for Each Chip or Cell Array

[0528] An example in which the current waveform of a write word/bit line current is set for each chip or cell array will be described.

[0529]FIG. 39 shows the schematic arrangement of a magnetic random access memory having memory cell arrays stacked in a plurality of stages.

[0530] This example corresponds to a case wherein above-described circuit examples for “(1) Setting for Each Chip or Cell Array” are applied to the magnetic random access memory having memory cell arrays stacked in a plurality of stages.

[0531] Memory cell arrays 12-1, 12-2, . . . , 12-n are stacked in n (n is an integer: n≧2) stages on a semiconductor substrate (magnetic random access memory chip) 11A. Each of the memory cell arrays 12-1, 12-2, . . . , 12-n includes some peripheral circuits, e.g., a row decoder & write word line driver/sinker, column decoder & write bit line driver/sinker, and the like.

[0532] Input data is input to a selector 34 through a data input receiver 19. The selector 34 transfers the input data to a selected memory cell array 12-i. A demultiplexer may be used in place of the selector 34.

[0533] Output data is transferred from a sense amplifier 20 of a corresponding one of the memory cell arrays 12-1, 12-2, . . . , 12-n to a data output driver 21 through a selector 35. The selector 35 transfers the output data from the sense amplifier 20 of the selected memory cell array 12-i to the data output driver 21. A multiplexer may be used in place of the selector 35.

[0534] A setting circuit 23 stores setting data which determines the current waveform of a write word/bit line current. A write current waveform control circuit 24 actually determines the current waveform of the write word/bit line current on the basis of a write signal WRITE from the control circuit 22 and the setting data from the setting circuit 23.

[0535] The current waveform may be common to all the memory cell arrays (the current waveform is set for each chip) or may be changed between the memory cell arrays (the current waveform is set for each memory cell array). In the latter case, for example, the setting circuit 23 and write current waveform control circuit 24 are arranged for each memory cell array.

{circle over (2)} Setting for Each Write Word/Bit Line

[0536] An example in which the current waveform of a write word/bit line current is set for each write word/bit line will be described.

[0537]FIG. 40 shows the schematic arrangement of a magnetic random access memory having memory cell arrays stacked in a plurality of stages.

[0538] This example corresponds to a case wherein above-described circuit examples for “(2) Setting for Each Write Word/Bit Line” are applied to the magnetic random access memory having memory cell arrays stacked in a plurality of stages.

[0539] The memory cell arrays 12-1, 12-2, . . . , 12-n are stacked in n (n is an integer: n≧2) stages on the semiconductor substrate (magnetic random access memory chip) 11A. Each of the memory cell arrays 12-1, 12-2, . . . , 12-n includes some peripheral circuits, e.g., a row decoder & write word line driver/sinker, column decoder & write bit line driver/sinker, and the like.

[0540] Input data is input to the selector 34 through the data input receiver 19. The selector 34 transfers the input data to the selected memory cell array 12-i. A demultiplexer may be used in place of the selector 34.

[0541] Output data is transferred from the sense amplifier 20 of a corresponding one of the memory cell arrays 12-1, 12-2, . . . , 12-n to the data output driver 21 through the selector 35. The selector 35 transfers the output data from the sense amplifier 20 of the selected memory cell array 12-i to the data output driver 21. A multiplexer may be used in place of the selector 35.

[0542] The write signal WRITE from the control circuit 22 is supplied to the memory cell arrays 12-1, 12-2, . . . , 12-n. Each of the memory cell arrays 12-1, 12-2, . . . , 12-n has a write current waveform control circuit/setting circuit.

[0543] A setting circuit in the write current waveform control circuit/setting circuit stores setting data which determines the current waveform of a write word/bit line current. The write current waveform control circuit/setting circuit actually determines the current waveform of the write word/bit line current on the basis of the write signal WRITE and setting data.

{circle over (3)} Conclusion

[0544] As described above, the write principles according to the embodiments of the present invention and circuit schemes which implement them can also be applied to a magnetic random access memory having memory cell arrays stacked in a plurality of stages.

[0545] Hence, even in the magnetic random access memory having the memory cell arrays stacked in the plurality of stages, the current waveform of the write current for the write word/bit line can be set for each write word/bit line by programming. The magnetization of the storing layer of an MTJ element can reliably be inverted, and the write characteristics can be improved.

[0546] 3. Others

[0547] The write principles according to the embodiments of the present invention and the circuit schemes that implement them can be applied to any magnetic random access memory independently of the cell array structure type.

[0548] For example, the write principles according to the present invention and the circuit schemes that implement them can be applied to even a magnetic random access memory having a cross-point cell array structure as shown in FIG. 43 or a magnetic random access memory having a cell array structure in which a read select switch (MOS transistor) is connected to one or a plurality of MTJ elements.

[0549] The write principles according to the present invention and the circuit schemes that implement them can also be applied to a magnetic random access memory which is not of a cross-point type and has no read select switch, a magnetic random access memory having read bit lines and write bit lines separated from each other, or a magnetic random access memory which stores a plurality of bits in one MTJ element.

[0550] As has been described above, according to the magnetic random access memory of each embodiment of the present invention, in consideration of a variation in write characteristics between MTJ elements, the current waveform of the write word/bit line current is determined for each chip, each memory cell array, or each word line/bit line. When the write characteristics vary, the value of the write word line current and the value of the write bit line current are individually controlled to eliminate the influence of the variation. As a result, the magnetizing direction of the storing layer of a MTJ element can reliably be reversed, the write characteristics and yield can be improved, and the manufacturing cost can be reduced.

[0551] Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents. 

What is claimed is:
 1. A writing method of a magnetic random access memory, comprising: testing write characteristics of a magnetoresistive element having a hard-axis and an easy-axis; independently determining a value of a first write current which generates a magnetic field in the hard-axis direction, which is necessary for magnetization inversion of the magnetoresistive element, and a value of a second write current which generates a magnetic field in the easy-axis direction on the basis of the write characteristics; programming the values of the first and second write currents as setting data; and generating the first and second write currents on the basis of the setting data to write data in the magnetoresistive element.
 2. A method according to claim 1, wherein testing the write characteristics is executed by confirming presence/absence of magnetization inversion of the magnetoresistive element when intensities of the magnetic fields in the hard- and easy-axis directions are independently changed.
 3. A method according to claim 2, wherein the intensities of the magnetic fields in the hard- and easy-axis directions are independently changed on the basis of input data.
 4. A method according to claim 1, wherein the values of the first and second write currents are determined for each chip.
 5. A method according to claim 1, wherein the values of the first and second write currents are determined for each memory cell array.
 6. A method according to claim 1, wherein the value of the first write current is determined for each write line that runs in the easy-axis direction, and the value of the second write current is determined for each write line that runs in the hard-axis direction.
 7. A method according to claim 1, wherein the write characteristics of the magnetoresistive element are grasped in accordance with an asteroid curve.
 8. A method according to claim 7, wherein when the asteroid curve shifts in the hard-axis direction, the value of the first write current is changed from a design value.
 9. A method according to claim 7, wherein when the asteroid curve shifts in the hard-axis direction, the values of the first and second write currents are changed from design values.
 10. A method according to claim 7, wherein when the asteroid curve shifts in the easy-axis direction, the value of the second write current is changed from a design value.
 11. A method according to claim 7, wherein when the asteroid curve shifts in the easy-axis direction, the values of the first and second write currents are changed from design values.
 12. A method according to claim 1, wherein the first and second write currents have different values.
 13. A method according to claim 1, wherein the first and second write currents have the same value.
 14. A method according to claim 1, wherein the first write current has a predetermined direction.
 15. A method according to claim 1, wherein a direction of the second write current determines a value of write data for the magnetoresistive element.
 16. A method according to claim 15, wherein the value of the second write current is controlled independently of the direction of the second write current.
 17. A magnetic random access memory comprising: first and second write lines which cross each other; a magnetoresistive element which is arranged at an intersection between the first and second write lines; a first driver which supplies a first write current to the first write line; a second driver which supplies a second write current to the second write line; and a setting circuit in which first setting data to control a current waveform of the first write current and second setting data to control a current waveform of the second write current are registered.
 18. A memory according to claim 17, wherein the first driver is controlled by the first setting data or data obtained by decoding the first setting data, and the second driver is controlled by the second setting data or data obtained by decoding the second setting data.
 19. A memory according to claim 17, wherein the current waveforms of the first and second write currents are determined for each chip.
 20. A memory according to claim 17, wherein the current waveforms of the first and second write currents are determined for each memory cell array.
 21. A memory according to claim 17, wherein the current waveform of the first write current is determined uniquely for the first write line, and the current waveform of the second write current is determined uniquely for the second write line.
 22. A memory according to claim 17, further comprising: first sinker which absorbs the first write current, and a second sinker which absorbs the second write current.
 23. A memory according to claim 22, wherein operation of the first sinker is ended after an elapse of a predetermined time from an end of operation of the first driver.
 24. A memory according to claim 22, wherein operation of the second sinker is ended after an elapse of a predetermined time from an end of operation of the second driver.
 25. A memory according to claim 17, wherein the first setting data is data which determines a value of the first write current for the first write line.
 26. A memory according to claim 17, wherein the second setting data is data which determines a value of the second write current for the second write line.
 27. A memory according to claim 17, wherein the first write current has a predetermined direction independently of a value of write data for the magnetoresistive element.
 28. A memory according to claim 17, wherein the second write current has a direction which changes in accordance with a value of write data for the magnetoresistive element.
 29. A memory according to claim 28, wherein the current waveform of the second write current is controlled independently of a direction of the second write current.
 30. A memory according to claim 17, wherein the first driver has a plurality of current supply sources, and the first setting data is data to control operations of said plurality of current supply sources.
 31. A memory according to claim 30, wherein said plurality of current supply sources have the same current supply capability.
 32. A memory according to claim 30, wherein said plurality of current supply sources have different current supply capabilities.
 33. A memory according to claim 17, wherein the second driver has a plurality of current supply sources, and the second setting data is data to control operations of said plurality of current supply sources.
 34. A memory according to claim 33, wherein said plurality of current supply sources have the same current supply capability.
 35. A memory according to claim 33, wherein said plurality of current supply sources have different current supply capabilities.
 36. A memory according to claim 17, wherein the setting circuit has an output circuit which outputs the first and second setting data in normal operation, and a transfer circuit which transfers first and second test data that control the first and second write currents in test operation.
 37. A memory according to claim 17, wherein the setting circuit has a storage element to store the first and second setting data semipermanently.
 38. A memory according to claim 37, wherein the storage element is a laser blow fuse.
 39. A memory according to claim 37, wherein the storage element is a magnetoresistive element.
 40. A memory according to claim 37, wherein the storage element is an antifuse which stores data on the basis of presence/absence of breakdown of a tunneling barrier of a magnetoresistive element.
 41. A memory according to claim 40, further comprising a circuit which electrically programs the first and second setting data in the antifuse.
 42. A memory according to claim 17, wherein the magnetoresistive element has an easy-axis and a hard-axis, the easy-axis being parallel to a direction in which the first write line runs, and the hard-axis being parallel to a direction in which the second write line runs.
 43. A memory according to claim 42, wherein the first write line is a write word line, and the second write line is a write bit line.
 44. A memory according to claim 17, wherein the magnetoresistive element is a tunneling magnetoresistive element having two ferromagnetic layers and a tunneling barrier layer inserted between the two ferromagnetic layers.
 45. A magnetic random access memory comprising: a plurality of first and second write lines which cross each other; a plurality of magnetoresistive elements arranged at intersections between said plurality of first and second write lines; a plurality of first drivers corresponding to said plurality of first write lines; a plurality of second drivers corresponding to said plurality of second write lines; and a setting circuit in which first setting data to control a first write current flowing to said plurality of first write lines and second setting data to control a second write current flowing to said plurality of second write lines are registered.
 46. A memory according to claim 45, wherein the first setting data is data which controls a current waveform of the first write current independently for each of said plurality of first write lines, and the second setting data is data which controls a current waveform of the second write current independently for each of said plurality of second write lines.
 47. A memory according to claim 45, wherein a direction of the second write current changes in accordance with a value of write data for the magnetoresistive element, and a current waveform of the second write current is controlled independently of the direction of the second write current.
 48. A memory according to claim 45, wherein when said plurality of first write lines, said plurality of second write lines, said plurality of magnetoresistive elements, said plurality of first drivers, and said plurality of second drivers construct one cell array unit, a plurality of cell array units are stacked on a semiconductor substrate, and the setting circuit is shared by said plurality of cell array units.
 49. A memory according to claim 45, wherein when said plurality of first write lines, said plurality of second write lines, said plurality of magnetoresistive elements, said plurality of first drivers, said plurality of second drivers, and the setting circuit construct one cell array unit, a plurality of cell array units are stacked on a semiconductor substrate. 